我正在尝试上传图片(没问题),必要时旋转图片(没问题),然后调整大小(问题发生时)。
图像旋转后,使用imagecreatefromjpeg
功能时出现以下错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 9288 bytes).
这是我的代码
<?php
$path='uploads/test7.jpg';
$exif = exif_read_data($path);
if (!empty($exif['Orientation']))
{
$imageResource = imagecreatefromjpeg($path);
switch ($exif['Orientation']) {
case 3:
$image = imagerotate($imageResource, 180, 0);
break;
case 6:
$image = imagerotate($imageResource, -90, 0);
break;
case 8:
$image = imagerotate($imageResource, 90, 0);
break;
default:
$image = $imageResource;
}
}
imagejpeg($image, $path,100);
$newImage= imagecreatefromjpeg($path); //this line generates an error
?>
答案 0 :(得分:0)
您已经提到了错误:
致命错误:允许的内存大小为134217728字节(尝试分配9288字节)。
这意味着您的内存限制太低。尝试使用ini_set('memory_limit, '256M')
自行增加,请求您的管理员增加限制或升级您的托管包。
您可以在PHP manual - Resource limits中了解更多信息。
答案 1 :(得分:0)
非常感谢你的帮助,对不起的回复感到抱歉。 我终于在创建新图像之前使用imagedestroy解决了我的问题。