本篇內(nèi)容介紹了“如何實現(xiàn)php的$_FILES的臨時儲存文件與回收機制”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

我想有跟我一樣的想法的人會這樣處理的: 上傳的文件只是想臨時使用,不需要把原文件保存?zhèn)溆?如resize之類的操作,且這些后期的操作會出現(xiàn)在第二輪從客戶端請求時才操作的,如先上傳,把上傳的臨時文件路徑返回到瀏覽器,用戶點擊后再對這個臨時文件進行操作;可是在實際的實現(xiàn)中發(fā)現(xiàn),這個臨時文件在二輪請求時,竟然不存在了,跑到臨時文件夾中查看也沒有找到.
我在某q群中也遇到有人問過這個問題,導(dǎo)致的原因也是跟我的這個實現(xiàn)想法差不多.所以,就有個疑惑,上傳文件是怎么個原理?
不想去看php的實現(xiàn)代碼,我大概的想了下,應(yīng)該是一種回收機制:點擊了臨時文件空間,那么,php自身應(yīng)該自己維護這塊空間的回收;
于是自己嘗試上傳了一下極大的文件,大到足夠讓php運行很長時間,我以為我會看到它出現(xiàn)在臨時文件夾中.可惜的是,我竟然沒有看到它的身影,直到php返回:因為此文件超過上傳限制;然后我使用小文件上傳打印出它的臨時文件夾路徑,發(fā)現(xiàn)它是以php開頭,以tmp結(jié)束的文件命名方式;
我想了個方式,使用while卡住上傳php的本次進程一定的時間再返回,這回我看到了臨時文件夾中的臨時文件,確實是以php**.tmp這樣的命名
如果在php運行的過程中使用刷新頁面的非正常結(jié)束php的方式來中止php解析話,那么這個臨時文件就會永久的保留,
如果php是正常的結(jié)束話,這個文件會在php的結(jié)束時刪除.
同時我感覺到這個文件應(yīng)該是在上傳完成后再出現(xiàn)的:從我上傳大文件看不到它的身影推斷;
所以,php的臨時文件維護方式是php一結(jié)束就回收資源,想在第二輪請求使用這個文件話,應(yīng)該自己移動后進行維護此文件,
在本次測試中,并沒有測試php include多個嵌套情況時,在什么時機下進行回收的.
“如何實現(xiàn)php的$_FILES的臨時儲存文件與回收機制”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
網(wǎng)站標題:如何實現(xiàn)php的$_FILES的臨時儲存文件與回收機制-創(chuàng)新互聯(lián)
文章起源:http://www.chinadenli.net/article46/dosseg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、服務(wù)器托管、軟件開發(fā)、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容