kholmatov
Новичок
Проблема такая, когда я собираюсь, загрузит, несколько фоток одно временно сдается фатальная ошибка
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 12288 bytes)
Максимальный memory_limit 64M больше не возможно увеличивать у моего сервера (сайта)
(На Локалке все работает Ок так как у меня memory_limit 256M )
Можно ли как то оптимизировать сам код?
Сам код вставлю ниже:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 12288 bytes)
Максимальный memory_limit 64M больше не возможно увеличивать у моего сервера (сайта)
(На Локалке все работает Ок так как у меня memory_limit 256M )
Можно ли как то оптимизировать сам код?
Сам код вставлю ниже:
PHP:
uploader(count($_FILES ['media']['name']));
function uploader($count)
{
if(isset($count))
{
$compression=100;//Сжатия
$root_path_full ='images/full/'; //Путь к большим изображением
$root_path_small ='images/small/';//Путь для отрезанной фотки
$root_path ='images/'; //Путь, где загружаем оригинал
for($i=0;$i<$count;$i++)
{
//формируем имя уникальное файла
$apend[$i]=date('YmdHis').rand(100,1000).'.jpg';
move_uploaded_file($_FILES['media']['tmp_name'][$i],$root_path.$apend[$i]);
$imagge=$root_path.$apend[$i];
$imagge_out=$root_path_full.$apend[$i];
$this->imageresize($imagge_out,640,$imagge,$compression);
$imagge_out2=$root_path_small.$apend[$i];
$this->imageresize($imagge_out2,218,$imagge,$compression,160);
//удаляем исходный файл
if(@file_exists($root_path.$apend[$i])){
unlink($root_path.$apend[$i]);
}
}
return $apend; //возвращаем имена для сохранении в БД
}
}
function imageresize($outfile,$neww,$infile,$quality,$newh=false) {
$im=imagecreatefromjpeg($infile);
if(!$newh)$newh=$neww*imagesy($im)/imagesx($im);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}