首頁  >  文章  >  後端開發  >  為什麼當「upload_max_filesize」設定高於「post_max_size」時我的檔案上傳失敗?

為什麼當「upload_max_filesize」設定高於「post_max_size」時我的檔案上傳失敗?

Patricia Arquette
Patricia Arquette原創
2024-10-28 12:41:02412瀏覽

Why Does My File Upload Fail When `upload_max_filesize` is Set Higher Than `post_max_size`?

了解PHP 中post_max_size 和upload_max_filesize 的作用

在PHP 中處理文件上傳時,了解兩者之間的相互作用至關重要post_max_size 和upload_max_filesize 指令。這些設定確定檔案上傳的最大允許大小,但它們有不同的用途。

定義差異

  • upload_max_filesize:此指令設定上傳的單一檔案的最大大小限制。
  • post_max_size: 此指令指定整個 HTTP 請求正文的最大大小限制,包括所有表單資料和上傳的檔案。

對檔案上傳的影響

在您的場景中,儘管將upload_max_filesize 設為16MB,但您仍遇到錯誤,指示超出了post_max_size (8MB)。這是因為 post_max_size 限制了請求正文的整體大小,其中包括表單內容和任何上傳的檔案。

澄清限制

為了澄清,upload_max_filesize充當可上傳的每個單獨檔案的大小上限。同時,post_max_size對請求中可以提交的所有資料的累積大小進行了限制。

如何傳送較大的檔案

如果需要上傳檔案大於 post_max_size 允許的值,則無法增加 upload_max_size。相反,您必須調整 post_max_size 以適應更大的檔案大小。

辨識超過 post_max_size

值得注意的是,當超過 post_max_size 時,PHP 沒有提供明確的指示。通常,$_POST 和 $_FILES 將為空,但 $_SERVER['CONTENT_LENGTH'] 將是非零。透過監視此組合,您可以確定何時達到 post_max_size。

以上是為什麼當「upload_max_filesize」設定高於「post_max_size」時我的檔案上傳失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn