У меня есть форма с несколькими
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']);