php - 我如何知道图像是否会导致 php memory_limit 错误?

标签 php html memory-limit

在调整图像大小期间,我收到 PHP 的“内存不足”错误。我可以通过在我的 php.ini 中设置一个更大的值来解决这个问题,但是如果我无法修改我的 php.ini 会发生什么(而且我也无法设置这个)使用 PHP 的值运行时)由于虚拟主机安全策略?

我使用 $_Files 使用普通帖子上传图像,我的 memory_limit 是 32 mb。如何计算图像在调整大小期间是否会导致此错误?上传的照片可能有不同的格式和重量;我正在尝试将大小调整为 820px 的唯一宽度。

编辑

我找到了这个网站http://www.dotsamazing.com/en/labs/phpmemorylimit 也许我必须重复这个计算,但这似乎很难做到。

最佳答案

看起来您希望在尝试调整图像大小之前获取图像大小。

例如,一旦您在服务器上有了文件的临时路径,请将其传递给函数:

$image_size = getimagesize('/path/to/image');

这将为您提供有关图像的大量信息,包括图像的大小。

一旦你有了这个,然后减去你的内存限制,你可以得到它的值:

$my_memory_limit = ini_get('memory_limit');

所以你的可用内存变成

$memory_available = $my_memory_limit - $size;

此时,您可以决定是否有内存来调整其大小(取决于调整大小过程的内存成本,或者是否将其返回给用户并告诉他们使用较小的图像。

关于php - 我如何知道图像是否会导致 php memory_limit 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21438662/

相关文章:

PHP Reforce 搜索引擎

PHP 删除字符最后一个实例之前的所有内容

JavaScript 无法重新加载页面结账表单

c - 使用 FreeDOS 是否允许我的程序访问超过 64 K 的内存?

php - 从 cli 运行 PHP 脚本 : php. ini memory_size 未考虑

php - 多个路由到同一个 Controller

python - 处理用户输入的空格

javascript - 当表单内某个输入框上的 keypress = 13 时,阻止表单提交

javascript - knockout 加载和保存 View 模型

PHP 将 memory_limit 增加到 128M 以上