【问题标题】:how to count number of uploaded files in php如何在php中计算上传文件的数量
【发布时间】:2021-10-25 02:21:36
【问题描述】:

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

<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";
    }
} 

【问题讨论】:

  • 试试这个:count($_FILES['file']['name'])
  • echo count($_FILES);
  • @Saty 这也总是给我第一名
  • 文件名中需要数组为name="file[]"

标签: php count


【解决方案1】:

在这段代码中你只得到一个文件,这就是你得到计数结果1的原因。如果改变你的输入文件名,比如“file[]”

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

然后使用下面的行代码,你会得到你想要的结果。因为它需要一个数组来保存输入数据。

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

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

【讨论】:

  • 我可能错了,但 count 将始终为 1 或更大,除非参数为 NULL,因此即使没有上传文件,count() 仍然等于 1
【解决方案2】:

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

试试:

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

无论如何都为我工作。

_t

【讨论】:

    【解决方案3】:

    【讨论】:

    • 如果你回答比说清楚。 op需要完全的支持。继续。
    【解决方案4】:

    使用array_filter 函数就可以了

    试试

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

    NULL 返回 0,上传 1 个文件返回 1,以此类推

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 2013-05-06
      • 2018-11-08
      • 2017-07-05
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多