У меня следующий PHP-код, который изменяет размеры моих изображений до желаемого размера:
/* POSTER - resize */
$remote_file = $castImages[$name];
$new_width = 296;
$new_height = 436;
list($width, $height) = getimagesize($remote_file);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($remote_file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, '../glumci/'.$name.' BIG.jpg', 100);
$new_width = 74;
$new_height = 109;
list($width, $height) = getimagesize($remote_file);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($remote_file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, '../glumci/'.$name.'.jpg', 100);
imagedestroy($image_p);
imagedestroy($image);
У меня есть около 5500 изображений для изменения размеров, поэтому я запускаю этот код в цикле while и получаю эту ошибку из PHP:
Fatal error: Out of memory (allocated 473956352) (tried to allocate 27263000 bytes) in D:\portal_ONLINE\UwAmp\www\inc\test.php on line 54
Затем я добавляю в скрипт PHP следующий код:
ini_set('memory_limit', '-1');
Но я получаю то же сообщение об ошибке ... как исправить эту ошибку, чтобы скрипт переименовал все 5500 изображений, а не только 50и выбросить эту ошибку?