我目前正在使用php gd实现来调整不断耗尽内存的图像 - 相当快。我猜问题是php函数,比如imagecreatefromstring等。
是否有一个简单的实现来调整不使用此函数的图像,所以我不必增加我的php.ini内存限制?
答案 0 :(得分:4)
这是一个PHP函数
function make_thumb($src, $dest, $desired_width,$desired_h) {
/* read the source image */
$source_image = imagecreatefromjpeg($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
$desired_height = $desired_h;
/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
/* copy source image at a resized size */
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
/* create the physical thumbnail image to its destination */
imagejpeg($virtual_image, $dest);
}
答案 1 :(得分:1)
GD不会使用那么多内存,因此您的代码中还有其他问题。
如果您调整多张图片的大小并且不在新创建的图片上调用imagedestroy
,则会在内存泄漏中运行。