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 つのファイル フィールドがある場合、各インデックスの下に 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 に答える