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

PHP中is_file不能替代file_exists的理由

我們可以使用下面的代碼測試一下:
復制代碼 代碼如下:<?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的性能好,那我也沒辦法

php技術PHP中is_file不能替代file_exists的理由,轉載需保留來源!

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

主站蜘蛛池模板: 崇信县| 永泰县| 金沙县| 定远县| 仲巴县| 饶河县| 兴安县| 县级市| 湖口县| 新郑市| 台南县| 儋州市| 绍兴市| 麻栗坡县| 德庆县| 兖州市| 息烽县| 巴塘县| 海晏县| 静乐县| 德兴市| 凤阳县| 青阳县| 全州县| 天柱县| 仁化县| 龙口市| 镇江市| 饶阳县| 临沧市| 临桂县| 敦煌市| 鹤壁市| 黄大仙区| 两当县| 余庆县| 大荔县| 桦川县| 衡阳市| 广西| 久治县|