我正在從其用戶每天接收約500張照片上傳的網站中工作。雖然這不是一個很高的數字,但我們正在經歷不同上傳之間的一些衝突。有些用戶報告看到另一張照片的縮略圖,而不是他們上傳的照片。我一直在尋找這個問題的解釋,我發現在計算器幾個問題:適用於處理大量文件上傳的技術
PHP temp file names for uploads colliding
PHP file uploads being "hijacked" by partial uploads
正如我已閱讀,這個問題似乎是相關的碰撞在文件tmp名稱中。爲了避免這種情況,我們考慮改變upload_tmp_dir
PHP變量,這取決於從記錄的用戶名計算出來的整數,以減少碰撞概率。但是,該變量在運行時不可更改,因爲PHP開始執行時,該文件已經發布到服務器。
我不知道如何解決這個問題,我想解決它,以防止日後上傳速度不斷增加的未來問題。
有很多處理大量上傳的網站,所以我不知道如何避免碰撞問題。我工作的網站運行在PHP 5.2.14上。爲了簡單起見,我更喜歡PHP解決方案,但我也對現有的使用其他腳本語言的解決方案感興趣,只要它們保證上載之間不會發生衝突。
我們使用原始照片名稱+時間戳作爲後綴來創建文件名。當獲得$ _FILES ['tmp_name']字段vlue時,碰撞似乎發生。 – 2011-03-15 11:06:14
APC有能力跟蹤上傳進度。也可以代替PHP的臨時名稱生成例程。值得一試。 (雖然它可以產生具有關機功能的怪異東西。) – vbence 2011-03-15 14:47:04