色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php的$_FILES的臨時儲存文件與回收機制實測過程

我想有跟我一樣的想法的人會這樣處理的: 上傳的文件只是想臨時使用,不需要把原文件保存備用,如resize之類的操作,且這些后期的操作會出現在第二輪從客戶端請求時才操作的,如先上傳,把上傳的臨時文件路徑返回到瀏覽器,用戶點擊后再對這個臨時文件進行操作;可是在實際的實現中發現,這個臨時文件在二輪請求時,竟然不存在了,跑到臨時文件夾中查看也沒有找到.

我在某q群中也遇到有人問過這個問題,導致的原因也是跟我的這個實現想法差不多.所以,就有個疑惑,上傳文件是怎么個原理?
不想去看php的實現代碼,我大概的想了下,應該是一種回收機制:點擊了臨時文件空間,那么,php自身應該自己維護這塊空間的回收;

于是自己嘗試上傳了一下極大的文件,大到足夠讓php運行很長時間,我以為我會看到它出現在臨時文件夾中.可惜的是,我竟然沒有看到它的身影,直到php返回:因為此文件超過上傳限制;然后我使用小文件上傳打印出它的臨時文件夾路徑,發現它是以php開頭,以tmp結束的文件命名方式;

我想了個方式,使用while卡住上傳php的本次進程一定的時間再返回,這回我看到了臨時文件夾中的臨時文件,確實是以php**.tmp這樣的命名,如圖
 
如果在php運行的過程中使用刷新頁面的非正常結束php的方式來中止php解析話,那么這個臨時文件就會永久的保留,
如果php是正常的結束話,這個文件會在php的結束時刪除.

同時我感覺到這個文件應該是在上傳完成后再出現的:從我上傳大文件看不到它的身影推斷;
所以,php的臨時文件維護方式是php一結束就回收資源,想在第二輪請求使用這個文件話,應該自己移動后進行維護此文件,
在本次測試中,并沒有測試php include多個嵌套情況時,在什么時機下進行回收的.

php技術php的$_FILES的臨時儲存文件與回收機制實測過程,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 阜康市| 广安市| 垣曲县| 贺州市| 运城市| 建宁县| 蒙城县| 邵阳市| 蒙山县| 兴和县| 遵义市| 广州市| 九江市| 余干县| 天全县| 靖安县| 江山市| 兴安县| 深水埗区| 柳林县| 汶上县| 于都县| 廉江市| 衡阳县| 苏尼特右旗| 华阴市| 贺兰县| 天祝| 伊吾县| 夏河县| 双峰县| 绥中县| 会宁县| 鄯善县| 浦东新区| 怀安县| 梧州市| 长宁县| 嵩明县| 苏尼特左旗| 禹城市|