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

PHP中is_file不能替代file_exists的理由

我們可以使用下面的代碼測(cè)試一下:
復(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";
      }
?>
在運(yùn)行測(cè)試代碼時(shí),我們確保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!
嗯,你沒有看錯(cuò),兩次都是輸出“test.txt exists!”,這是為什么呢?原因就是is_file有緩存。第一次調(diào)用is_file函數(shù)的時(shí)候,php會(huì)把文件的屬性(file stat)保存下來,當(dāng)再次調(diào)用is_file的時(shí)候,如果文件名更第一次的一樣,那么就會(huì)直接返回緩存。
那么把is_file改為file_exists呢?我們可以把上面代碼的is_file函數(shù)改為file_exists函數(shù),再次使用上面的測(cè)試方法測(cè)試。結(jié)果如下:
test.txt exists!
test.txt no exists!
第二次調(diào)用file_exists的時(shí)候返回文件不存在,這是因?yàn)閒ile_exists函數(shù)沒有緩存,沒次調(diào)用file_exists的時(shí)候都會(huì)去磁盤搜索文件是否存在,所以第二次才會(huì)返回false。
說了那么多,我只想說明is_file不能代替file_exists使用,如果你硬是覺得is_file的性能好,那我也沒辦法

php技術(shù)PHP中is_file不能替代file_exists的理由,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 丰顺县| 靖宇县| 徐汇区| 南京市| 米脂县| 阿拉善右旗| 收藏| 榆林市| 许昌市| 齐河县| 吉木萨尔县| 石柱| 虎林市| 光泽县| 沁源县| 织金县| 湖口县| 襄汾县| 台前县| 徐州市| 勃利县| 射洪县| 黑河市| 蓬安县| 隆化县| 和龙市| 夏河县| 昌吉市| 台中市| 天全县| 喀什市| 乌拉特前旗| 武乡县| 西青区| 上饶市| 京山县| 内乡县| 惠东县| 中卫市| 密山市| 罗江县|