php多文件上传获取用户上传文件的确切数量,而不是数组中所有输入字段的数量

Ok. I give up on this. When uploading multiple files to the server using php, what is a fail safe method to return the count of files the user has actually uploaded?

Whatever I have done so far, returns the count of all the fields in the form, and the count of the files a user uploads. So if the total fields in the form were 3 and a user uploaded only 2 files, I still get 3 as the count of file uploaded.

One place suggested using array_filter to do this, but that's totally beyond me.

echo count($_FILES['file']['tmp_name']); //3

echo count($_FILES['file']); //3

Any fail safe method you follow and can suggest other than looping through the FILES array size to check for this?

My form is structured like any other:

<form action="process.php" method="post" enctype="multipart/form-data">
<div><input type="file" name="file[]"></div>
<div><input type="file" name="file[]"></div>
<div><input type="file" name="file[]"></div>
<div><input type="submit"></div>
</form>

Exactly as they told you, just simply use array_filter().

echo count(array_filter($_FILES['file']['name']));

It will return the right number

$count = 0;
foreach($_FILES as $file) {
    if(isset($file["file"]["tmp_name"]) && !empty($file["file"]["tmp_name"]))
        $count++;
}

Try this

$count = 0;
$fileCount=count($_FILE['file']['name'];)
$fileSize=$_FILES['file']['size'];

    for($i=0;$i<$ fileCount;$i++) {
        if ($fileSize[$i] > 0) {
           $count++;
        }
    }