最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中is_file不能替代file_exists的理由

 更新時間:2014年03月04日 11:20:30   作者:  
首先要提出的問題是,is_file真的可以替代file_exists使用嗎?答案是否定的。為什么?原因很簡單,is_file有緩存
我們可以使用下面的代碼測試一下:
復(fù)制代碼 代碼如下:
<?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的性能好,那我也沒辦法

相關(guān)文章

最新評論

龙胜| 互助| 图片| 安乡县| 灵璧县| 双峰县| 织金县| 宾阳县| 普安县| 伊川县| 松阳县| 西乌珠穆沁旗| 全州县| 宁乡县| 亳州市| 阿尔山市| 遂溪县| 赣州市| 库伦旗| 江川县| 遂宁市| 广饶县| 林口县| 车致| 北碚区| 蛟河市| 错那县| 平湖市| 兰西县| 罗江县| 岢岚县| 阳朔县| 镇原县| 浠水县| 澳门| 滁州市| 嘉义县| 库尔勒市| 醴陵市| 巴东县| 竹山县|