如何计算php中上传文件的数量

时间:2016-05-21 12:55:43

标签: php count

如何计算上传文件的数量? 这是我的表格:

<div id="dragAndDropFiles" class="uploadArea">
        <h1>Drop Images Here</h1>
    </div>
    <form id="sfmFiler" class="sfmform" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="file" multiple />
        <input type="submit" name="submitHandler" id="submitHandler" class="buttonUpload" value="Upload">
    </form>

这是上传文件的php片段:

if($_SERVER['REQUEST_METHOD'] == "POST") {
    $tmpFilePath = $_FILES['file']['tmp_name'];
    $newFilePath = $dir.'/' . $_FILES['file']['name'];
    if(move_uploaded_file($tmpFilePath, $newFilePath)) {
      echo "xxx files are successfully uploaded";
    }
} 

4 个答案:

答案 0 :(得分:9)

在此代码中,您只获得一个文件,这就是为什么要获得计数结果1.如果更改输入文件名,如“file []”

  <input type="file" name="file[]" id="file" multiple />

然后使用以下行代码,您将得到您想要的结果。因此需要一个数组来保存输入数据。

 <?php echo count($_FILES['file']['name']); ?>

谢谢,我在我的系统中尝试了结果。

答案 1 :(得分:2)

朋友是正确的。上面的答案总是返回1。

尝试:

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

反正为我工作。

_t

答案 2 :(得分:1)

答案 3 :(得分:1)

使用array_filter函数有效

尝试

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

如果为NULL,则返回0,如果上传了1个文件,则返回1,等等。