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

首頁 > 開發(fā) > PHP > 正文

PHP中is_file不能替代file_exists的理由

2024-05-04 23:21:54
字體:
供稿:網(wǎng)友
我們可以使用下面的代碼測試一下:

復制代碼 代碼如下:

<?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函數(shù)判斷文件是否存在,然后調(diào)用sleep函數(shù)睡眠10秒。在這10秒內(nèi),我們要把test.txt文件刪除。最后看看第二次調(diào)用is_file函數(shù)的結(jié)果。輸出結(jié)果如下:
test.txt exists!
test.txt exists!
嗯,你沒有看錯,兩次都是輸出“test.txt exists!”,這是為什么呢?原因就是is_file有緩存。第一次調(diào)用is_file函數(shù)的時候,PHP會把文件的屬性(file stat)保存下來,當再次調(diào)用is_file的時候,如果文件名更第一次的一樣,那么就會直接返回緩存。
那么把is_file改為file_exists呢?我們可以把上面代碼的is_file函數(shù)改為file_exists函數(shù),再次使用上面的測試方法測試。結(jié)果如下:
test.txt exists!
test.txt no exists!
第二次調(diào)用file_exists的時候返回文件不存在,這是因為file_exists函數(shù)沒有緩存,沒次調(diào)用file_exists的時候都會去磁盤搜索文件是否存在,所以第二次才會返回false。
說了那么多,我只想說明is_file不能代替file_exists使用,如果你硬是覺得is_file的性能好,那我也沒辦法
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长阳| 武穴市| 阿拉善盟| 二手房| SHOW| 峨山| 西乌珠穆沁旗| 昔阳县| 杨浦区| 民县| 长沙县| 彝良县| 自贡市| 会同县| 英山县| 南涧| 齐齐哈尔市| 陆丰市| 林甸县| 安仁县| 松溪县| 丁青县| 司法| 德昌县| 龙里县| 乌拉特中旗| 余庆县| 辽阳市| 博乐市| 会宁县| 新疆| 阜城县| 大石桥市| 茶陵县| 富平县| 青州市| 宜昌市| 施秉县| 钦州市| 博兴县| 桐城市|