Использую функцию которая загружает и уменьшает картинки. С картинками до 2 мб все работает отлично, а вот если больше 2х мб то выводится белый экран, причем картинка загружается но не уменьшается. Увеличить время скрипта не получилось. На сервере установлен safemode. Хостер разрешает загружать файлы до 8 мб. Как можно решить такую проблему? Ограничивать размер загружаемых фоток для пользователей нельзя. сама функция, навсякий случай: Код (Text): function upload($name, $tmp_name, $id) { if (eregi("\.(jpg|jpeg)",$name,$my_type)) { chmod("../pic", 0777); $pach= strtolower("../pic/$id.jpg"); set_time_limit (0); if (move_uploaded_file($tmp_name,$pach)) { $image = $pach; $max_width = 400; $max_height = 400; $size = GetImageSize($image); $width = $size[0]; $height = $size[1]; $x_ratio = round(($max_width/$width), 3); $y_ratio = round(($max_height/$height), 3); if ( ($width <= $max_width) && ($height <= $max_height) ) { $tn_width = $width; $tn_height = $height; } else if (($x_ratio * $height) < $max_height) { $tn_height = ceil($x_ratio * $height); $tn_width = $max_width; } else { $tn_width = ceil($y_ratio * $width) ; $tn_height = $max_height; } $thumb = imagecreatetruecolor($tn_width, $tn_height); $source = imagecreatefromjpeg($image); imagecopyresized($thumb, $source, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height); imagejpeg($thumb, $pach); ImageDestroy($thumb); ImageDestroy($source); } chmod("../pic/$id.jpg", 0644); chmod("../pic", 0755); echo "<h1>Загружено</h1>"; } else { echo "<h1>не загружено...</h1> "; } }
Сделал, нет ошибок. при загрузке больших фоток скрипт доходит до загрузки и все. Фотка загрузилась, но не уменьшелась, не получила права 644, папка так и осталась с 777, и функция которая дорисовывает футер не выполняется.
Что значит отладить? Все работает с малыми изображениями. Когда гружу большие то скрипт то скрипт останавливается. Как народ это обходит? ведь везде полно сайтов с такой функцией. В поисковиках примера решения не нашел
Нужно головой подумать просто Узнай для начала до какой строки у тебя выполняется код при загрузке большого изображения