文件上传因为数组而在那里始终识别文件

时间:2017-03-28 17:03:24

标签: php html arrays

我正在进行文件上传功能,但是当我试图过滤掉那些不上传文件的人时。

我注意到我的html中的Array []导致总是有一个文件可用。

一旦我尝试删除HTML中的数组[],PHP文件识别工作正常......需要一些帮助。

谢谢你。

HTML:

<label class="btn btn-default btn-file button-upload" >
<input type="file" name="file[]" hidden class="input-file-form" multiple="multiple">
</label>

PHP:

if($_FILES['file']["error"] == 4) {
    echo "no file";
} else {
    echo "got file";
}

1 个答案:

答案 0 :(得分:3)

它是一个数组,因此您应该将其称为数组。试试$_FILES['file']["error"][0]。如果可行,您可以使用foreach来迭代所有文件:

VIEW DEMO

以下是代码:

<pre>
<?php
print_r($_FILES);

foreach($_FILES['file']['name'] as $key => $file){

  if($_FILES['file']["error"][$key] == 4) {
      echo "no file <br>";
  } else {
      echo "got file <br>";
  }

}

?>
</pre>

<form action="" method="post" enctype="multipart/form-data">

    <label class="btn btn-default btn-file button-upload" >
        <input type="file" name="file[]" class="input-file-form" multiple="multiple">
    </label>        
    <br>

    <label class="btn btn-default btn-file button-upload" >
        <input type="file" name="file[]" class="input-file-form" multiple="multiple">
    </label>    
    <br>

    <button>Upload</button>
</form>