0

我正在尝试上传多个文件,但出现“错误:数组”。我已经在下面发布了表单和 php。

if(isset($_POST['upload'])){
        $count = 0;
        foreach($_FILES["file"]["name"] as $filename){
            $count = $count + 1;
            $tmp = $_FILES["file"]["tmp_name"][$count];
            $size = $_FILES["file"]["size"];
            $error = $_FILES["file"]["error"];
            $type = $_FILES["file"]["type"];
        }
        if($error > 0){
            $stat = "Error: $error<br />";
        } else {
            move_uploaded_file($tmp,"uploads/$filename");
        }   
    }

<form method="POST" enctype="multipart/form-data">
    <input type="file" name="file[]" id="file" multiple/><br />
    <input type="submit" name="upload" value="Upload">
</form>
4

1 回答 1

1

问题是 $_FILES 是一个多维数组。如果您提交了 2 个文件字段,则每个索引下将有两个值(例如 ['tmp_name'][0] 和 ['tmp_name'][1])。

因此 $_FILES['file']['error'] 包含文件字段的错误数组。

您可以循环浏览这些以查看它们,例如:

foreach($error AS $err) {
  echo $err . '<br />';
}

或 print_r($error); 打印出数组(仅适用于开发,不适用于生产)。

希望有帮助。

于 2012-09-22T22:13:43.433 回答