在我的网站上,用户可以上传自己的照片。 php代码将它们存储在图像中,制作缩略图,重命名它们并将它们存储在网站上。这些照片必须<2MB,但是当用户最近告诉我他在尝试上传900KB照片时出现了致命错误“允许的内存大小为67108864字节耗尽”猜测,一个大的,宽的,但压缩得很好的JPEG)。
在我的共享托管服务器上,我无法更改php.ini。上传代码目前如下所示:
$source = imagecreatefromjpeg($value['tmp_name']);
$width_source = imagesx($source);
$height_source = imagesy($source);
$max = max($width_source,$height_source);
$ratio = $max/min($max,1000);
$width_destination = $width_source/$ratio;
$height_destination = $height_source/$ratio;
$width_miniature = 100*$width_source/$height_source;
$height_miniature = 100;
$destination = imagecreatetruecolor($width_destination, $height_destination);
$adress = '/home/photos/photo'.$id.'.jpg';
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($destination, $adress);
chmod($adresse, 0644);
$miniature = imagecreatetruecolor($width_miniature, $height_miniature);
etc etc to copy miniature
是否有其他方式/方法可以上传大型照片或绕过php内存限制?
答案 0 :(得分:0)