Фото загружается и уходит с остальными (текстовыми) $_POST в скрипт-обработчик, все робит нормально, в обработчике файл проверяется на тип, сначала расширением, а потом getimagesize и также на допустимый размер.
Попробывал отправить mp3 глюкануло так, что мурашки побежали...везде повылазили ошибки о, том, что $_POST не обнаружены...проверил так и есть весь массив пустой (!).
Тогда в функции обработчики, в самом верху поставил return, чтоб игнорировать все проверки и вычислеть на какой строке глюк, оказалось та же проблема т.е. еще до обработчика весь массив слетает! Как будто ошибка Апача или ПХП.
Может кто сталкивался???
Спустя 6 минут, 57 секунд (26.04.2011 - 13:04) sergeiss написал(а):
А где код формы, где код обработчика?
Спустя 1 минута, 22 секунды (26.04.2011 - 13:06) linker написал(а):
Каковы размеры картинок и mp3? Параметры post_max_size, upload_max_filesize в php.ini
Спустя 12 минут, 10 секунд (26.04.2011 - 13:18) GET написал(а):
Форма
Обработчик:
Функция фото(кусок):
mp3-9 мегабайт, допустимо 3.
post_max_size = 8M
upload_max_filesize = 2M
Что то я не понял это из-за этого глюки что ли??? А на реальном сайте как быть? Если чел решит 500 Мб отправить???
<form name="anketa" id="anketa" method="post" action="1.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="3000000">
<input name="foto1" type="file" maxlength="255"/>
Обработчик:
if (isset($_FILES['foto1'])) {photo($_FILES['foto1'],1,$m1,$2);}
Функция фото(кусок):
$whitelist = array(".png", ".jpg", ".jpeg");
foreach ($whitelist as $im)
{
if(preg_match("/$im\$/ui", $photo['name']))
{
$i="on";
}
}
if ($i=="on")
{
$imageinfo = getimagesize($photo['tmp_name']);
if (
$imageinfo['mime']!= 'image/jpeg' &&
$imageinfo['mime']!= 'image/png'&&
$imageinfo['mime']!= 'image/jpg'
)
{
$_SESSION[$err]="Допускаются загрузить только файлы типа -jpg, -png, не более 3 Мб";
}
else
{
$size_img=$photo['size'];
if ($size_img>3000000)
{
$_SESSION[$err]="Допускаются размеры файла до 3-х мегабайт.";
}
mp3-9 мегабайт, допустимо 3.
post_max_size = 8M
upload_max_filesize = 2M
Что то я не понял это из-за этого глюки что ли??? А на реальном сайте как быть? Если чел решит 500 Мб отправить???
Спустя 1 минута, 42 секунды (26.04.2011 - 13:19) linker написал(а):
Именно из-за этого.
Спустя 5 минут, 19 секунд (26.04.2011 - 13:25) GET написал(а):
linker
Подс5кажите пожалуйста, само собой могу увеличить эти параметры, но всегда найдется размер побольше, и придется ждать загрузки как я понимаю лишняя нагрузка, как обрезать эти "плохие" большие файлы быстро и безболезненно для сайта?
Подс5кажите пожалуйста, само собой могу увеличить эти параметры, но всегда найдется размер побольше, и придется ждать загрузки как я понимаю лишняя нагрузка, как обрезать эти "плохие" большие файлы быстро и безболезненно для сайта?
Спустя 2 минуты, 59 секунд (26.04.2011 - 13:28) linker написал(а):
Ну всётаки стоит определиться, какой максимальный разрешённый объем должен быть, соответственно и выставлять настройки. Предел всегда есть.
Спустя 8 минут, 30 секунд (26.04.2011 - 13:36) GET написал(а):
Дак вылазит ошибка...вот стоит предел же 2 Мб при загрузке 9 мб песни на экран вылезли ошибки + имена моих переменных и скрипта, как этого избежать?
Если к примеру 3 Мб максимум для загрузки файлов?
post_max_size =
upload_max_filesize =
Если к примеру 3 Мб максимум для загрузки файлов?
post_max_size =
upload_max_filesize =
Спустя 4 минуты, 27 секунд (26.04.2011 - 13:41) linker написал(а):
Если файлы передаются с некоторым количеством дополнительной информацией, то upload_max_filesize лучше сделать чуть меньше, чем post_max_size. У меня всё стоит по 128M. Т.е. у меня так
post_max_size = 128MТут ещё фигня в том, что пока файл не закачается проверка его размера не возможна, т.е. сначала идет заливка, потом пых проверяет размер, если он не удовлетворяет параметру, то файл отбрасывается. Всё же стоит проверять прежде всего ошибки $_FILES['foto1']['error']прежде чем пытаться что-то делать с пришедшим файлом.
upload_max_filesize = 128M
Спустя 2 минуты, 8 секунд (26.04.2011 - 13:43) Семён написал(а):
Ты фреймворк ведь юзаешь наверно?
Спустя 3 минуты, 58 секунд (26.04.2011 - 13:47) GET написал(а):
linker
А если я попытаюсь загрузить файл на ваш сайт в 150 Мб...что произойдет?
Семён
Работаю на Денвере, а так все сам пишу ручками...
А если я попытаюсь загрузить файл на ваш сайт в 150 Мб...что произойдет?
Семён
Работаю на Денвере, а так все сам пишу ручками...
Спустя 3 минуты, 34 секунды (26.04.2011 - 13:50) Семён написал(а):
Я хз, что у тебя там за ошибки, но:
1) Если загружается большой файл ограничивай работу своего скрипта set_time_limit
2) Прежде чем делать, что-то с данными нужно:
a) объявить переменную.
б) проверить её.
в) далее делать с ней операции.
1) Если загружается большой файл ограничивай работу своего скрипта set_time_limit
2) Прежде чем делать, что-то с данными нужно:
a) объявить переменную.
б) проверить её.
в) далее делать с ней операции.
Спустя 11 минут, 22 секунды (26.04.2011 - 14:02) GET написал(а):
я даже не знал, что массив ошибок создается $_FILES['foto1']['error']...т.е. если $_FILES['foto1']['error']=="0", продолжаем работать нет то -> ошибка есть то можно сразу до свиданья сказать...set_time_limit...гм..даже незнаю, как время расчитать правильно все же от нагрузки зависит...не слишком большой (но большой для сервака) может наверное успеть проскачить...
Спасибо огромное, я более менее понял, что делать!!!
Спасибо огромное, я более менее понял, что делать!!!
Спустя 37 минут, 55 секунд (26.04.2011 - 14:40) linker написал(а):
Если файл превышает установленный лимит, то он загрузится, но сразу же будет удалён и ошибка соответствующая в $_FILES.
set_time_limit(0) - бесконечный режим.
set_time_limit(0) - бесконечный режим.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.