0

あなたはこの過ちを信じないでしょう、私には何が起こっているのかわかりません。ファイルをアップロードしようとすると、一部のファイルがアップロードを拒否します。

<html>
<body>
<?php
var_dump($_POST);
if ($_POST['fileadd']){
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    print_r($_POST); echo "<br>"; print_r($_FILES);
}
?>

        <form action="" method="POST"
        enctype="multipart/form-data">
        <label for="file">Filename:</label>
        <input type="file" name="file" id="file" class="bigtext" style="width: 80%;"> 
        <br>
        <input type="submit" class="bigbutton" id="showloader" name="fileadd" value="Upload the song" />
        </form>


</body>
</html>

ここでそれが実行されます。 問題は、言うべきではない配列0と言うときです。

また、特定のファイルを選択すると、$_POST配列は、送信ボタンの名前としてnil/zero少なくとも含まれている必要があるのに、どうしてですか?fileadd

4

2 に答える 2

2

コードが完璧であると仮定しているだけです。そうではありません。ファイルのアップロードは常に成功すると想定し、失敗の可能性を考慮していません。次のようなものが必要です。

if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
   die("File upload failed with error code #" . $_FILES['file']['error']);
}

エラーコードはここで定義されています: http://www.php.net/manual/en/features.file-upload.errors.php

于 2013-09-17T14:59:30.543 に答える