Reputation: 6079
I have a form with several
input type="file"
tags. How can I know on the server side amount of files uploaded by the user. He can upload 3 files, or may be 5 files, 1 or even nothing. I need to know how much files user have uploaded.
Upvotes: 1
Views: 8321
Reputation: 1096
Form:
<form enctype="multipart/form-data" ...>
<input type="file" name="image[]" multiple>
Script:
$c = sizeof($_FILES['image']['name']);
Upvotes: 1
Reputation: 10284
If you are having input upload tags with name like file1
, file2
then
if($_FILES['file1']['size'] > 0)
echo "User uploaded some file for the input named file1"
Now for many files (looking at the output you are having), run a foreach loop like this:-
$cnt=0;
foreach($_FILES as $eachFile)
{
if($eachFile['size'] > 0)
$cnt++;
}
echo $cnt." files uploaded";
I am not sure why the similar answer in How can I know a number of uploaded files with PHP? got downvoted? For the '0' ?
Upvotes: 4
Reputation: 382696
You can use the count
or sizeof
on $_FILES
array that contains uploaded file info:
echo count($_FILES);
You can do this:
$counter = 0;
foreach($_FILES as $value){
if (strlen($value['name'])){
$counter++;
}
}
echo $counter; // get files count
Upvotes: 8