我希望能夠讀取上傳的文件,但由於安全考慮,我不希望將文件保存在服務器上...是否可以直接讀取一個文件變成一個變量?將上傳的文件讀取到變量中,而不是保存它
如果沒有,Temp文件是如何工作的,在服務器上保存臨時文件有多安全,以及何時刪除?
我希望能夠讀取上傳的文件,但由於安全考慮,我不希望將文件保存在服務器上...是否可以直接讀取一個文件變成一個變量?將上傳的文件讀取到變量中,而不是保存它
如果沒有,Temp文件是如何工作的,在服務器上保存臨時文件有多安全,以及何時刪除?
您將不得不將上傳保存到文件,否則任何大文件都會導致錯誤,因爲它會非常容易地使可用內存過載。
Temp非常不安全,通常系統上的任何人都可以讀/寫/刪除臨時文件。
要做到這一點,最好的方法就是進行正常的文件上傳,並在提交腳本中讀取文件並對其進行處理或將其移至更持久的位置。您現在可以向tmp副本發出刪除命令。
由於您可能沒有刪除權限和/或文件可能被自動刪除,所以最好以這種方式發出命令(@符號可以抑制任何錯誤,因爲您並不在意文件是否已被刪除或什麼不是,這是一個「以防萬一」的情況)
@unlink($filename);
好答案!謝謝!如果兩個文件名相同,會發生什麼情況?是否覆蓋舊文件? –
正確。它會覆蓋舊文件。 –
到目前爲止我所知它必須保存在某個地方,以便與它進行交互,但作爲腳本完成它儘快刪除執行。請參閱PHP: When does the temporary uploaded files get deleted?
更安全,比對不起,發出@unlink($ filename);以防萬一 – TravisO
通過閱讀您想獲取的文件類型,大小和名稱等。 –