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

Форум PHP

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

 

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

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

тема: Не большой скрипт (Закачка файлов и отправка письма)
 
 автор: Akira   (12.07.2005 в 14:05)   письмо автору
 
 

Меня попросил друг написать ему не большой скриптик, что бы люди могли закачивать на сервер рисунки в формате джипег.
Я бы попросил просмотреть их на ошибки или на улучшения =)
Одну ошибку я нашел, но не могу ее исправить. Если есть две ошибки, то запишит все равно одну...

   
 
 автор: cheops   (12.07.2005 в 20:53)   письмо автору
 
   для: Akira   (12.07.2005 в 14:05)
 

1) Лучше использовать вместо $HTTP_POST_FILES короткий вариант $_POST, так как длинный вариант будет исключён в следующих версиях PHP.
2) Ошибка всегда будет одна, так как у вас после заполнения массива $error стоит break - который вышибает скрипт из цикла for, в результате будет не только одна ошибка, но и другие файлы, если они есть не будут обрабатываться после возникновения первой же ошибки. break наверное лучше заменить хотя бы на continue, хотя это не решит проблему с двумя ошибками, но даст обработать другие файлы. Если нужно выловить две ошибки - следует ввести логический флаг, по которому и выполнять continue
<?php
  $flage_break 
false;
  if(...)
  {
    
$error[] = "...";
    
$flage_break true;
  }
  if(...)
  {
    
$error[] = "...";
    
$flage_break true;
  }
  if(...)
  {
    
$error[] = "...";
    
$flage_break true;
  }
  if(
$flage_break) continue; // или break, в зависимости от того, что требуется
?>

   
 
 автор: Akira   (12.07.2005 в 21:15)   письмо автору
 
   для: cheops   (12.07.2005 в 20:53)
 

Отлично! Плохо, что сам не догодался =) ДУмал использовать continue , но без флагов не помогало.
>1) Лучше использовать вместо $HTTP_POST_FILES короткий вариант $_POST, так >как длинный вариант будет исключён в следующих версиях PHP.
т.е. $HTTP_POST_FILES ["file_".$i]["size"] как $_POST["file_".$i]["size"] ??
Только выдает ошибки.
Кстати, поставил себе 5 версию.В ней по умолчанию php.ini registr_globals=off?

   
 
 автор: cheops   (12.07.2005 в 21:41)   письмо автору
 
   для: Akira   (12.07.2005 в 21:15)
 

>Кстати, поставил себе 5 версию.В ней по умолчанию php.ini
>registr_globals=off?
Ага, и register_long_arrays = Off, вроде, поэтому длинные массивы могут не работать, пока директива не включена.

   
Rambler's Top100
вверх

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