Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: работа $_FILES['files']['name']
 
 автор: Slo_Nik   (13.11.2009 в 19:10)   письмо автору
 
 

возникла не понятная для меня ситуация, помогите, пожалуйста, разобраться.
сделал форму для отправки сообщений с сайта и в форме есть поле для выбора файла.
делаю проверку файла на его размер

<?php 
 
if(isset($_POST['submit'])){
  
// проверка разных полей формы
 
................................................................
 
// проверка изображения
 
if($_FILES['files']['error']) == echo "Файл превышает допустимый размер";

 
// дальнейшая обработка данных формы
..................................................................
 }
?>

и вот самое интересное
проверяю на локальном компе, всё проходит нормально, если файл превышает допустимый размер, то сообщение об этом появляется.
загрузил на реальный сервер, проверяю....
и ни чего не происходит.
вернее, время выполнения скрипта в браузере идёт, показывает какую то скорость выполнения, но более ни чего не происходит, такое впечатление, что зависло.
так вот вопрос, из-за чего такое может быть? или проблема в моей проверке или в соединении с сервером?
как я понимаю, после нажатия кнопки в форме, создаётся массив $_FILES и можно обратиться к выбраному элементу массива и проверить его и если всё нормально, можно продолжить загрузку изображения.
или что то я всё таки не понял с этим массивом?
p.s. плохо, что при редактировании сообщения нельзя редактировать заголовок..., а то опечаточка небольшая ....

  Ответить  
 
 автор: Trianon   (13.11.2009 в 19:16)   письмо автору
 
   для: Slo_Nik   (13.11.2009 в 19:10)
 

вообще-то проверять подобного рода запросы нужно выводом
echo '<pre>';
print_r($_FILES);
В том числе и для файлов несколько меньше ограничения.

  Ответить  
 
 автор: Slo_Nik   (13.11.2009 в 19:28)   письмо автору
 
   для: Trianon   (13.11.2009 в 19:16)
 

>В том числе и для файлов несколько меньше ограничения.
что Вы имели ввиду?

>print_r($_FILES);
а зачем выводить в окно браузера содержимое всего массива?
ведь нужно проверить всего один элемент, в данном случае.

и всё таки вопрос остался, такая проверка, как я делаю, может вызвать сбой в работе скрипта?

  Ответить  
 
 автор: jackson05   (13.11.2009 в 23:42)   письмо автору
 
   для: Slo_Nik   (13.11.2009 в 19:28)
 

а почему бы прямо не проверить выполнение условия по ограничению размера?
if ($_FILES["file"]["size"]>upload_max_filesize)

ведь ошибка может быть отличная от 1, но и не ноль.
0 - ошибок не было, файл загружен.
1 - размер загруженного файла превышает размер установленный параметром upload_max_filesize в php.ini
2 - размер загруженного файла превышает размер установленный параметром MAX_FILE_SIZE в HTML форме.
3 - загружена только часть файла
4 - файл не был загружен (Пользователь в форме указал неверный путь к файлу).

  Ответить  
 
 автор: Trianon   (13.11.2009 в 23:47)   письмо автору
 
   для: Slo_Nik   (13.11.2009 в 19:28)
 

>>В том числе и для файлов несколько меньше ограничения.
>что Вы имели ввиду?
>

Что проблемы могли возникнуть не из-за этого конкретного нарушения ограничения по длине.

>>print_r($_FILES);
>а зачем выводить в окно браузера содержимое всего массива?
>ведь нужно проверить всего один элемент, в данном случае.

Потому что Вы не знаете, что этот случай - данный.
Если все ветви диагностического вывода у Вас находлятся под условиями - Вы вообще с гарантией не можете отличить нормальное исполнение скрипта от ненормального.
Мало ли почему тишина - потому что условие ошибки не выполнилось, или потому что всё сдохло еще до ошибки?

>и всё таки вопрос остался, такая проверка, как я делаю, может вызвать сбой в работе скрипта?

Вот только кой хрен Вам на вопросы отвечать, если Вы ответы не слушаете...

Сбой может вызывать длинный файл сам по себе.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования