[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка фотки
Xes
Гружу фотку на локалке 30кб Пишет ошибку. Имя файло первое свободное из множества (1..8).
Цитата

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in

Код загрузцика ругается на помеченную строку:
function download_foto($folder)
{
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
// Проверяем загружен ли файл
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
// Если файл загружен успешно, перемещаем его из временной директории в конечную
$dir = opendir('../foto/'.$folder);
while(!feof($dir))
==>>
$file[] = readdir($dir);
closedir($dir);
for($i=1;$i<=8;$i++)
if(!in_array($i.'.jpg',$file))
move_uploaded_file($_FILES['filename']['tmp_name'], '../foto/'.$folder.'/'.$i.'.jpg');
}
else
{
echo("Ошибка загрузки файла");
}
}




Спустя 12 минут, 58 секунд (7.06.2011 - 06:18) kirik написал(а):
Xes
А что там за колдовство до move_uploaded_file?
По ошибке у тебя в массив file заносится большой объём данных.

Спустя 1 час, 23 минуты, 2 секунды (7.06.2011 - 07:41) Xes написал(а):
Доmove_uploaded_file поправил. там ошибка закралась расширение файла не указал, и break; добавил.
Все колдовсво до move_uploaded_file с целью прочитать каталог занести его содержимое в массив, и найти первый несуществующий файл из ряда 1.jpg--8.jpg
for($i=1;$i<=8;$i++)
if(!in_array($i.'.jpg',$file))
{
move_uploaded_file($_FILES['filename']['tmp_name'], '../foto/'.$folder.'/'.$i.'.jpg');
break;
}


Домой приду исправлю.
Но ошибка видемо вот в этом куске
вот это я адекватно к каталогу применяю while(!feof($dir)) ?
$dir = opendir('../foto/'.$folder);
while(!feof($dir))
==>>
$file[] = readdir($dir);




Спустя 36 минут, 9 секунд (7.06.2011 - 08:17) kirik написал(а):
Цитата (Xes @ 7.06.2011 - 00:41)
Но ошибка видемо вот в этом куске
вот это я адекватно к каталогу применяю while(!feof($dir)) ?

Не очень) Если нужно вытащить названия файлов из директории, то нужно использовать readdir (тыц). А ещё проще весь этот ужас заменить на glob().

Спустя 14 минут, 1 секунда (7.06.2011 - 08:31) Xes написал(а):
Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.