我有一個網站每天接收30-40k的照片上傳,而且我看到一個問題現在以更高的頻率彈出。這個問題是這樣的:PHP文件上傳被部分上傳「劫持」
我們的上傳腳本接收到(通過$ _FILES ['name'] ['tmp_name'])文件(照片),該文件沒有被用戶上傳&大部分時間文件收到一個「部分」上傳。
當然,起初我以爲這是我的PHP代碼犯了一個簡單的錯誤,我花了好幾天的時間仔細查看它,以確保在檢查代碼後,我發現通過HTTP POST上傳到PHP實際上是錯誤的文件。所以問題發生在它到達我的代碼之前。腳本收到的tmp文件(phpxxxx)有時是不正確的,就好像它被另一個進程覆蓋一樣,並且通常被部分上傳的文件覆蓋。
有沒有人見過這樣的問題?任何幫助是極大的讚賞。我談到這個作爲最後的手段搜索的天/要求其他PHP開發者
因此,要回顧:
- 用戶上傳照片
- PHP腳本接收不是由上傳的文件用戶(預代碼,通過$ _FILES在/ var/tmp目錄)
- 通常收到的不正確的文件是部分上載或破上傳
- 似乎所有的時間隨機不發生
這是一個遠射 - 但也許這是一個編碼問題?我知道一些瀏覽器嘗試使用gzip壓縮進行上傳。這可能會使它看起來不像圖像文件。上傳的HTTP頭是什麼樣子的? – scraimer 2009-03-04 06:40:39
我相信這是一個愚蠢的http://stackoverflow.com/questions/631871/php-temp-file-names-for-uploads-colliding – Iiridayn 2010-07-19 17:22:53