我正在使用Valums file uploader通過帶有進度條的網頁上傳文件。幾乎一切工作正常,但我無法更改默認tmp目錄,其中文件存儲在上載。設置PHP tmp目錄 - PHP上傳不起作用
文件應存放在/upload
目錄而不是默認的系統/tmp
目錄,因爲/tmp
被安裝在有其大小限制爲4 MB和用戶會上傳約10 MB的文件RAM磁盤。
我已經搜索了大量的網頁,但沒有解決方案的工作。在php.ini
我設置臨時目錄:
upload_tmp_dir =/upload
我設置權限/upload
目錄,和Apache是該文件的所有者,所以該目錄是絕對不可寫PHP。
我已經將文件上傳器中的目標路徑設置爲/upload
,因爲我希望文件在上傳後也存儲在此目錄中。最終的結果是小文件正在成功上傳,但大於4 MB的文件無法上傳 - 我想到的唯一原因是在上載過程中文件存儲在/tmp
中。可以肯定的是,我用sys_get_temp_dir()
進行了檢查,結果爲/tmp
-so PHP忽略了我的php.ini指令,或者有其他一些方法來設置上傳過程中存儲文件的位置。
呵呵,最後一條信息:open_basedir
沒有設置,所以PHP對磁盤的訪問只受文件權限限制。
你重新啓動服務器(抱歉這個愚蠢的問題)? – soju
有沒有愚蠢的問題,只是愚蠢的答案:)。是的,我在嘗試解決問題並嘗試不同的解決方案時做了很多次。 – Wookie88
你是否檢查過,PHP沒有安裝爲CGI MOD? (來自doc:*如果此處指定的目錄不可寫,則PHP返回到系統默認臨時目錄*) – soju