Как узнать количество загруженных файлов с помощью PHP?

У меня есть форма с несколькими

input type="file" 

теги. Как я могу узнать на стороне сервера количество файлов, загруженных пользователем. Он может загружать 3 файла, или может быть 5 файлов, 1 или даже ничего. Мне нужно знать, сколько файлов загружено пользователем.

Если у вас есть входные теги для загрузки с таким именем, как file1 , file2 тогда

 if($_FILES['file1']['size'] > 0) echo "User uploaded some file for the input named file1" 

Теперь для многих файлов (глядя на вывод, который у вас есть), запустите цикл foreach следующим образом:

 $cnt=0; foreach($_FILES as $eachFile) { if($eachFile['size'] > 0) $cnt++; } echo $cnt." files uploaded"; 

Я не уверен, почему аналогичный ответ в разделе « Как я могу узнать количество загруженных файлов с PHP? получил downvoted? Для «0»?

Вы можете использовать count или sizeof в массиве $_FILES который содержит информацию о загруженном файле:

  echo count($_FILES); 

Обновление (на основе комментариев):

Вы можете сделать это:

 $counter = 0; foreach($_FILES as $value){ if (strlen($value['name'])){ $counter++; } } echo $counter; // get files count 

$_FILES – это глобальный массив файлов, в котором хранятся загруженные файлы.

Форма:

 <form enctype="multipart/form-data" ...> <input type="file" name="image[]" multiple> 

Автор сценария:

 $c = sizeof($_FILES['image']['name']);