cst*_*ack 1 php filesize image-resizing
我正在使用一个简单的图像管理器类,以及以下代码:
<?php
include('SimpleImage.php');
$image = new SimpleImage();
$image->load($target_path);
if($image->getWidth() > 500) {
$image->resizeToWidth(500);
echo "<p>Image Resized</p>";
} else echo "<p>Image did not need to be resized.</p>";
$image->save($target_path);
echo "<p>Image Saved</p>";
?>
Run Code Online (Sandbox Code Playgroud)
当我上传宽度为700的图像时,图像成功调整大小,但是当我上传一张非常大的图片(宽度〜= 2300)时,它不起作用,我看不到任何echo
消息.
某些php图像函数是否有可能导致此问题的大小限制?
您很可能达到memory_limit
php.ini中指定的设置.
添加error_reporting(E_ALL);
到您的脚本,看看输出是什么.
使用phpinfo()
找出当前的内存限制设置.
它有时可以改变使用ini_set("memory_limit", xyz)
.否则,您需要更改php.ini.
一个2300 x 2300像素图像至少会占用
2300 x 2300 x 3 = 15,870,000
Run Code Online (Sandbox Code Playgroud)
=大约16兆字节的RAM(或2300 x 2300 x 4,如果有一个alpha通道)所以我会说你需要每个脚本至少24兆字节的RAM来使这项工作运行良好.也许更多.