| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Аплоад файлов... |
| Автор: skhilkov 10.8.2010, 19:59 | ||
| Здрасте! Уже второй день бьюсь с такой проблемой: не могу залить на сервер файл больше мегабайта.... ОС: Ubuntu Linux 64bit Суть такая: есть phpшка, которая с помощью $_FILES['tmp_name']['file'] ловит файл. Пхпшка рабочая, на маленьких файлах пашет корректно. Вообще надо залить XML файл в 14 мегабайт, случилась эта проблема. Я залез в php.ini сейчас там такие значения(которые я поменял) из phpinfo():
при таких параметрах он его должен проглатывать... ан нет... решил по-другому немного зайти - сжимаю XMLку зипом(в скрипте распаковывать пытаюсь), получается 1,7 мегабайт, пробую залить - то же самое. При всем при этом функции, куда передается $_FILES['tmp_name']['file'], ругаются что им приходит empty string. Включил уровень вывода ошибок на debug - как рыба об лед... Убивает то, что не ошибок, ничего. Вот когда лимиты были установлены маленькие, в лог выводились ошибки, а сейчас - НИЧЕГО, и не работает нифига. Еще раз повторюсь, что на маленьких файлах все это дело пашет........ Может еще что-то ограничивать может аплоад, или как посмотреть все-таки что за ошибки происходят? Спасибо огромное! |
| Автор: IgorIV 11.8.2010, 16:40 |
| Тут уже была похожая тема, только вот чем закончилось не помню. Посмотри для начала $_SERVER() |
| Автор: lexxmix 17.8.2010, 04:29 |
| post_max_size 50M upload_max_filesize 50M и рестарт! |
| Автор: skyboy 17.8.2010, 08:17 |
| либо не тот php.ini редактируешь, либо не перезапустился. |
| Автор: azesmcar 17.8.2010, 08:20 | ||
skhilkov
смотришь параметры и смотришь путь к php.ini |
| Автор: skhilkov 22.8.2010, 11:09 |
| azesmcar, да все нормально, я же написал что выводит phpinfo() относительно установленных мной параметров.. |
| Автор: skhilkov 22.8.2010, 19:22 | ||||
| Победил! Как всегда пришлось побеждать свою же невнимательность... Начну сначала. У меня есть скрипт, который аплодит файл на сервер. Так вот, он не работал, видимо из-за того, что лимиты в тот момент были выставлены и по размеру и по времени. Для обнаружения ошибки я скопипастил простой html код отправки файла. Сделал эту страницу, исправил все парамеры в php.ini, а оно все не работает... Убивало то, что не пишутся ошибки совсем, хотя все уровни логирования включены на всю катушку. Также странным было то, что скрипт не прерывался, просто выполнялся дальше и все... Код был в блоке try, исключения никакого не было, get_last_error() молчал... Только после того, как я попробовал вывести массив $_FILES Я увидел, что там есть error со значением 2! Оказалось что ошибка в той самой страничке:
Удалил строчку
И все заработало! |
| Автор: IgorIV 22.8.2010, 19:39 |
| Зачем? Выставь в значение которое можно заливать на сайт. А вообще ошибки $_FILES тоже надо обрабатывать. |
| Автор: skhilkov 22.8.2010, 20:01 | ||
| IgorIV, Еще раз повторяюсь, что форма только для тестирования нужна была... Аплоад из whs скрипта делается...
Вообще, мое мнение, что просто пихать ошибку в массив - не самая лучшая идея. Выкинуть исключение, прекратить выполнение в конце концов! Ну теперь буду знать что и такое бывает... |
| Автор: IgorIV 22.8.2010, 20:16 |
| Если что-то не получается прочти инструкцию, благо на русском есть. |