У меня есть скрипт, который создает миниатюру из загруженного изображения. он отлично работает с jpgs, но выдает ошибку
Неустранимая ошибка: допустимый объем памяти 67108864 байта исчерпан (попытка выделить 26250000 байтов)
когда я загружаю изображение в формате png.
Сценарий:
//create thumbnail; $modwidth and height are calculated in another part of the script
//$original is the path to the full sized image
$tn = imagecreatetruecolor($modwidth, $modheight);
switch (strrchr($new_image_name,'.')) {
case ".jpg":
$image = imagecreatefromjpeg($original);
break;
case ".jpeg":
$image = imagecreatefromjpeg($original);
break;
case ".png":
$image = imagecreatefrompng($original);
break;
case ".gif":
$image = imagecreatefromgif($original);
break;
}
imagecopyresampled($tn, $image, 0, 0, $x_pos, $y_pos, $modwidth, $modheight, $width, $height);
switch (strrchr($new_image_name,'.')) {
case ".jpg":
imagejpeg($tn, $target_path, 100);
break;
case ".jpeg":
imagejpeg($tn, $target_path, 100);
break;
case ".png":
imagepng($tn, $target_path, 0);
break;
case ".gif":
imagegif($tn, $target_path);
break;
}
Как я уже сказал, он отлично работает с JPG, а также с GIF.
Эта ошибка памяти появляется только для PNG, и я использовал только изображение размером 1,2 МБ.
Как я могу решить это?
Спасибо
Patrick