如何为多个输入文件计算选定数量的图像

时间:2017-05-24 07:20:06

标签: php

如果输入为多个,则{p> count($_FILES['productimg']['name'])正在运行,例如<input type="file" name="productimg[]" multiple>

但是,如果我多次使用输入,则无效,例如:

<input type="file" name="productimg[]" class="fileinpt">
<input type="file" name="productimg[]" class="fileinpt">
<input type="file" name="productimg[]" class="fileinpt">
...

4 个答案:

答案 0 :(得分:0)

使用array_filter:http://php.net/manual/de/function.array-filter.php

count(array_filter($_FILES['productimg']['name']));

答案 1 :(得分:0)

使用array_filter

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

答案 2 :(得分:0)

PHP($ _FILES)将获取最后一行的值,因为所有3个输入在value属性中具有相同的名称。这就是为什么你没有得到你期望的计数。

您必须手动指定索引,如下所示:

<input type="file" name="productimg[0]" class="fileinpt">
<input type="file" name="productimg[1]" class="fileinpt">
<input type="file" name="productimg[2]" class="fileinpt">

我注意到,这只发生在PHP中,它适用于其他语言,如Java和Ruby。

答案 3 :(得分:0)

/** index.php **/
<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
<input type="file" name="userfile[]"  multiple>
  <input type="submit" value="Send files" />
</form>

/* file-upload.php */ 
<?php
    for ($i = 1; $i < count($_FILES['userfile']['name']); $i++) {
        echo $i;
    }
     ?>