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">
...
答案 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;
}
?>