在调整图像大小期间,我收到 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/