Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Загрузка изображений
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Загрузка изображений

Страниц (1): [1]
 

1. SFproG - 18 Февраля, 2012 - 10:08:08 - перейти к сообщению
Имеется вот такой простой код:

PHP:
скопировать код в буфер обмена
  1. <form action="" method="POST" ENCTYPE="multipart/form-data">
  2.  Выберите файл для загрузки:
  3.  <input type="file" name="file">
  4.  <input type="submit" name="submit" value="Загрузить">
  5. </form>
  6.  
  7. <?PHP
  8.  
  9.  
  10. @mkdir("img", 0777);
  11.  
  12. $tmp_name = $_FILES['file']['tmp_name'];
  13. $path = "img/".date('YmdHis').'.jpg';
  14.  
  15. if (move_uploaded_file($tmp_name,$path)) {
  16.      echo "<img src='".$path."' height='' width=''>";  
  17.      echo "<br /><br />Изображение загружено!";
  18.          }
  19.          else {echo "Не выбран файл!";}
  20.  
  21. ?>


При нажатии "загрузить", картинка загружается в папку. Если после этого обновить страницу (F5), в этой же папке создается копия этой картинки. Как это предотвратить? (Как я понял, скрипт выполняется снова, без нажатия кнопки).
2. Мелкий - 18 Февраля, 2012 - 10:10:22 - перейти к сообщению
После обработки формы делайте редирект на эту же страницу.

Проблема общая для любой POST-формы. Часть браузеров переспрашивает, отправлять ли данные ещё раз, часть - отправляет без предупреждения.
3. SFproG - 18 Февраля, 2012 - 16:41:34 - перейти к сообщению
Понятно. Спасибо за подсказку.

 

Powered by ExBB FM 1.0 RC1