0

アップロードファイル.php

<?php
 $allowedExts = array("doc", "pdf");
 $extension = end(explode(".", $_FILES["file"]["name"]));
 if ((($_FILES["file"]["type"] == "text/doc")
 || ($_FILES["file"]["type"] == "text/pdf"))
 && ($_FILES["file"]["size"] < 500000000)
 && in_array($extension, $allowedExts))
   {
   if ($_FILES["file"]["error"] > 0)
     {
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
     }
   else
     {
     echo "Upload: " . $_FILES["file"]["name"] . "<br>";
     echo "Type: " . $_FILES["file"]["type"] . "<br>";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
     move_uploaded_file($_FILES["file"]["tmp_name"],
       "upload/" . $_FILES["file"]["name"]);
        echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
       }}
      else { echo "Invalid file";

   }

 ?> 

アップローダー.php

<form action="uploadfile.php" method="post"
 enctype="multipart/form-data">
 <label for="file">Filename:</label>
 <input type="file" name="file" id="file"><br>
 <input type="submit" name="submit" value="Submit">
 </form>

理由はわかりませんが、ファイルをアップロードしようとしましたが、アップロードをクリックした後も無効なファイルが表示され続けます。何が悪いのかわからない?

4

2 に答える 2

0

よくある落とし穴は、フォームに enctype 属性がないことです。ファイルをアップロードする場合は、次のようにする必要があります。

<form method="POST" enctype="multipart/form-data">
于 2013-01-29T13:06:14.323 に答える
0

次のようなデバッグ出力を追加することもできます。ファイル名の正しい部分を取得したかどうかを確認するには。print_r($_FILES) も役立つ場合があります。それでも問題が解決しない場合は、if ステートメントの各部分を個別の「if」に入れて、どの部分が失敗したかを確認してください。

于 2013-01-29T13:07:28.900 に答える