我該如何去處理一個理智的方式來處理超過post_max_size
的http上傳?如何檢測用戶上傳的文件是否大於post_max_size?
在我的配置post_max_size
是幾MB大於upload_max_filesize
我遇到的問題是:
如果用戶上傳文件超過post_max_size
- 的_POST數組爲空
- 的_FILES數組是空的,當然其中的任何錯誤代碼都不存在。
- 沒有其他信息通過這些手段可以訪問哪種形式的帖子。
部分問題是接收腳本根據POST的內容採取不同的操作。
我確實可以使用_SERVER
變量,並且可以獲得關於發生了什麼的線索,即CONTENT_TYPE
,CONTENT_LENGTH
和REQUEST_METHOD
。然而,根據這些內容進行猜測似乎很成問題。發現MEMORY_LIMIT(設置爲相關尺寸的10倍)並且Apaches LimitRequestBody(設置爲無限制)被發現沒有錯。
就目前而言,即使向用戶提供任何有意義的消息,我也很難。
有什麼方法可以保留一些表單數據,以獲得更好的線索,看看出了什麼問題?我非常不願意離開php。
要清楚,我會在@King Skippus的答案中引用類似的內容。即使用此客戶端解決方案讓人們開心,然後查找服務器端的空郵件並採取相應措施。 – Matthew 2011-05-31 17:18:32
這很有用。我主要擔心的是無法以適當的方式通知我的用戶。任何關於當前瀏覽器支持的想法? – 2011-05-31 17:20:16
@Captain長頸鹿,我認爲每個非IE瀏覽器的常見使用允許你通過JavaScript來檢查文件大小,但我並不確定。 (再一次,它會優雅地降級,所以使用它作爲解決方案的一部分沒有任何壞處。)另外,請參閱我的編輯以查看是否發生上傳問題。 – Matthew 2011-05-31 17:25:48