на хосте пишет Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 17088 bytes). Как понимаю, нехватает ОП, однако могу расширить её до 64м, ошибка таже, только доступный объем больше... В чем может быть проблема?
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- #//$path = 'img/';
- #//$width='50';
- #//$height='50';
- #//$copy='img/thumbs/';
- function rez($path,$copy,$width,$height)
- {
- $quality = 100;
- $color = 0xFFFFFF;
- $files = glob("$path*.jpg");
- //array_push($files,glob("$path*.JPG"));
- for($i = 0, $length = count($files); $i < $length; $i++)
- {
- //echo "$files[$i] ----- $i <br>";
- // Исключаем из списка директории:
- if( is_dir($path.$files[$i]) )
- {
- unset($files[$i]);
- };
- };
- //die($files[0]);
- for($i=0,$L=count($files);$i<$L;$i++)
- {
- #ini_set("memory_limit", "64M");
- $src='./'.$files[$i];
- $exp=strripos($files[$i], "/" )+1;
- $files[$i] = substr($files[$i],$exp);
- $out=$copy.$files[$i];
- //die ($out);
- // Если файл не существует
- if (!file_exists($src)) {
- return false; echo "нет такого файла";
- }
- // Получаем массив с информацией о размере и формате картинки (mime)
- $size = getimagesize($src);
- // Исходя из формата (mime) картинки, узнаем с каким форматом имеем дело
- $format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
- //и какую функцию использовать для ее создания
- $picfunc = 'imagecreatefrom'.$format;
- // Вычилсить горизонтальное соотношение
- $gor = $width / $size[0];
- // Вертикальное соотношение
- $ver = $height / $size[1];
- // Если не задана высота, вычислить изходя из ширины, пропорционально
- if ($height == 0) {
- $ver = $gor;
- $height = $ver * $size[1];
- }
- // Так же если не задана ширина
- elseif ($width == 0) {
- $gor = $ver;
- $width = $gor * $size[0];
- }
- // Формируем размер изображения
- $ratio = min($gor, $ver);
- // Нужно ли пропорциональное преобразование
- if ($gor == $ratio)
- $use_gor = true;
- else
- $use_gor = false;
- $new_width = $use_gor ? $width : floor($size[0] * $ratio);
- $new_height = !$use_gor ? $height : floor($size[1] * $ratio);
- $new_left = $use_gor ? 0 : floor(($width - $new_width) / 2);
- $new_top = !$use_gor ? 0 : floor(($height - $new_height) / 2);
- $picsrc = $picfunc($src);
- // Создание изображения в памяти
- $picout = imagecreatetruecolor($width, $height);
- // Заполнение цветом
- imagefill($picout, 0, 0, $color);
- // Нанесение старого на новое
- imagecopyresampled($picout, $picsrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
- // Создание файла изображения
- imagejpeg($picout, $out, $quality);
- // Очистка памяти
- imagedestroy($picsrc);
- imagedestroy($picout);
- //return true;
- };
- };