Multiple files | PHP

<?php
if(isset($_POST['submit'])) {
   for($i=0;$i<count($_FILES['file']['name']);$i++) {
      if(!is_uploaded_file($_FILES['file']['tmp_name'][$i])) {
         echo 'файл не загружен';
      } else {
         echo $_FILES['file']['name'][$i];
      }
   }
}
?> 

<!DOCTYPE html>
<meta charset="utf-8">

<form enctype="multipart/form-data" method="post">
   <input type="file" name="file[]" multiple>
   <input type="submit" name="submit" value="Отправить">
</form>

Если поле input пусто count($_FILES['file']['name']) все равно будет 1.

if(!is_uploaded_file($_FILES['file']['tmp_name'][$i])) {} проверяет загружен ли файл.

enctype="multipart/form-data" способ кодирования данных формы при отправке файла.

multiple для загрузки нескольких файлов в input.

Атрибут name нужен со скобками [], то есть данные помещаются в массив.

Далее рассмотрим создание функции mail() и полноценной формы.

в f t
наверх ↑

4 комментария:

Владимир
Здравствуйте, Наталья! Второй день ищу у Вас способ скрытия путей картинкок, Вы часто в коде примеров его пишете. Или у Вас на эту тему нет статьи? И ещё, скажите, пожалуста, а таким методом можно скрывать пути к css и js-файлам? Спасибо
NMitra
Здравствуйте, вопрос не поняла. Возможно вы ищите это http://shpargalkablog.ru/2014/03/copy-img.html
Скрыть файлы никак нельзя, иначе их не прочитает веб-браузер или поисковый робот. Немного разбирающийся человек вытянет любой код с любой веб-страницы. Также это возможно сделать с помощью скриптов - всевозможных парсеров, которые работают на подобии браузеров, ведь браузер - это тоже только программа.
Анонимный
Здраствуйте! Подскажите, как сделать с 2 и более вложениями письмо?
NMitra
Здравствуйте, см. http://shpargalkablog.ru/2014/05/feedback-form-file.html