PHP:post_max_size 覆蓋upload_max_filesize
PHP 配置作用。然而,當這些值看似相互矛盾時,可能會出現令人困惑的情況。
根據Simon 報道,他的主機顯示了以下設定:
- post_max_size = 8Mb
- upload_max_filesize = 16Mb
upload_max_filesize = 16Mb
要解決這個問題,了解這些參數的不同作用非常重要:
-
upload_max_filesize:
指定單一上傳檔案的最大大小。 -
post_max_size:
限制可以透過POST 要求,包括所有上傳的檔案。
在 Simon 的例子中,雖然 upload_max_filesize 允許單一檔案大小最大為 16Mb,但 post_max_size 8Mb 的限製成為整個請求正文的限制因素。
要允許上傳16Mb的文件,需要將post_max_size的值增加到大於或等於upload_max_filesize的值。這可以確保 POST 請求的總大小(包括上傳的檔案)保持在允許的限制內。
關於上傳大於 post_max_size 的檔案的替代方法的問題,需要注意的是:
-
GET:
檔案不支援 GET 請求。 -
PUT:
雖然 PUT 請求可用於上傳,但通常不支援用於此目的的首選。 -
其他:
可以採用其他方法(例如分塊檔案上傳或串流)來處理更大的檔案傳輸,但這些技術可能需要更複雜的實現。
以上是當我的 upload_max_filesize 大於 post_max_size 時,為什麼會收到「超出最大檔案大小」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!