国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP is_file與file_exists 的使用

2024-09-04 11:50:24
字體:
來源:轉載
供稿:網友
首先要提出的問題是,is_file真的可以替代file_exists使用嗎?答案是否定的。為什么?原因很簡單,is_file有緩存。
我們可以使用下面的代碼測試一下:
 
<?php  
      $filename = 'test.txt';
      if (is_file($filename)) {
          echo "$filename exists!/n";
      } else {
          echo "$filename no exists!/n";
      }
      sleep(10);
     if (is_file($filename)) {
          echo "$filename exists!/n";
      } else {
          echo "$filename no exists!/n";
      }
?>
在運行測試代碼時,我們確保test.txt文件存在。在上面的代碼中,第一次使用is_file函數判斷文件是否存在,然后調用sleep函數睡眠10秒。在這10秒內,我們要把test.txt文件刪除。最后看看第二次調用is_file函數的結果。輸出結果如下:
test.txt exists!
test.txt exists!
嗯,你沒有看錯,兩次都是輸出“test.txt exists!”,這是為什么呢?原因就是is_file有緩存。第一次調用is_file函數的時候,PHP會把文件的屬性(file stat)保存下來,當再次調用is_file的時候,如果文件名更第一次的一樣,那么就會直接返回緩存。
那么把is_file改為file_exists呢?我們可以把上面代碼的is_file函數改為file_exists函數,再次使用上面的測試方法測試。結果如下:
test.txt exists!
test.txt no exists!
第二次調用file_exists的時候返回文件不存在,這是因為file_exists函數沒有緩存,沒次調用file_exists的時候都會去磁盤搜索文件是否存在,所以第二次才會返回false。
說了那么多,我只想說明is_file不能代替file_exists使用,如果你硬是覺得is_file的性能好,那我也沒辦法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西宁市| 治多县| 嘉荫县| 柏乡县| 梁平县| 通许县| 建阳市| 特克斯县| 巨鹿县| 平南县| 灌阳县| 东乡| 柳河县| 六枝特区| 江都市| 泸定县| 苍南县| 遂溪县| 新化县| 陆良县| 敦化市| 沂源县| 建始县| 福安市| 伽师县| 洞口县| 屏边| 广丰县| 买车| 霍林郭勒市| 武鸣县| 沁源县| 永嘉县| 南昌市| 松桃| 谷城县| 林甸县| 盐津县| 云阳县| 岢岚县| 玉山县|