2

簡単なフォームでファイルをアップロードすると、

Warning: POST Content-Length of 372220927 bytes exceeds the limit of 33554432 bytes in Unknown on line 0 
Notice: Undefined index: file in C:\xampp\htdocs\php_upload\upload_file.php on line 3

php_iniを20Mに変更しました。問題は、ファイルが大きすぎることについての素敵なmsgエラーをエコーし​​たいということです。そのような警告はありません。私が試す/キャッチできるエラー/実行。電話をかける前に「警告」について知ることができる場所:

$ _FILES ["file"] ["error"]> 0

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

//

if ($_FILES["file"]["error"]>0)
  {
  echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
  }
4

1 に答える 1

1

33554432 バイト = ~32MB

372220927 バイト = ~355MB

ファイルをアップロードできるようにするには、 post_max_sizeupload_max_filesizeを少なくとも 355MB の絶対最小値に設定する必要があります。

MAX_FILE_SIZE を設定して、制限を超えた場合にユーザーにエラーを返すことができるように、PHP ファイル アップロード フォームをセットアップする方法については、この例に従ってください。ファイルが許可されているよりも大きいことを示す$_FILES['userfile']['error']定数と等しいかどうかを確認してください。例では、入力フィールドを配置する順序に関する警告に注意してくださいUPLOAD_ERR_FORM_SIZE

于 2012-12-19T00:55:59.980 に答える