PHP中判斷檔案存在使用is file還是file

2022-10-06 10:45:13 字數 1970 閱讀 8710

判斷檔案存在用is_file還是file_exists?

在寫程式時發現在判斷檔案是否存在時,有兩種寫法,有的人用了is_file,有的人用了file_exists,用哪個更好或者說更合適呢?

看了這篇php中file_exists與is_file,is_dir的區別的說法基本明白,php的 file_exists = is_dir + is_file。

寫程式驗證一下:

分別執行1000次,記錄所需時間。

檔案存在(當前目錄)

複製** **如下:

is_file:0.4570ms

file_exists:2.0640ms

檔案存在(絕對路徑3層/www/hx/a/)

複製** **如下:

is_file:0.4909ms

file_exists:3.3500ms

檔案存在(絕對路徑5層/www/hx/a/b/c/)

複製** **如下:

is_file:0.4961ms

file_exists:4.2100ms

檔案不存在(當前目錄)

複製** **如下:

is_file:2.0170ms

file_exists:1.9848ms

檔案不存在(絕對路徑5層/www/hx/a/b/c/)

複製** **如下:

is_file:4.1909ms

file_exists:4.1502ms

目錄存在

複製** **如下:

file_exists:2.9271ms

is_dir:0.4程式設計客棧601ms

目錄不存在

複製** **如下:

file_exists:2.9719ms

is_dir:2.9359ms

is_file($file)

file_exists($file)

當$file是目錄時,is_file返回false,file_exists返回true

檔案存在的情況下,is_www.cppcns.comfile比file_exists要快得多;

要檢測檔案所在的目錄越深,速度差越多,但至少快4倍。

檔案不存在的情況下,is_file比file_exists要慢一點點,但可以忽略不計。

目錄存在的情況下,is_dir比filalpkyexpe_exists要快得多;

目錄不存在的情況下,is_dir比file_exists要慢一點點,但可以忽略不計。

結論:如果要判斷檔案是否存在,用函式 is_file(),

如果要判斷目錄是否存在,用函式 is_dir(),

好像沒地方需要用file_exists了,不確定傳入的引數是檔案還是目錄的時候用?

附測試程式:

複製** **如下:

本文標題: php中判斷檔案存在使用is_file還是file_exists?

本文位址:

php 判斷檔案是否存在

sha1 file file 語法 sha1 file file,raw 引數 file 必需。規定要計算的檔案。raw 可選。布林值,規定十六進製制或二進位制輸出格式 true 原始 16 字元二進位制格式 false 預設。32 字元十六進製制數 版本 php 4.2.0 說明 sha1 fil...

php使用linux命令判斷檔案是否存在

f qipa250.txt echo yes echo no f 檔案名字檔案存在則為真。執行 f qipa250.txt 為真則執行echo yes,由於或語句 的存在echo no不再執行。特別注意的是,這裡的邏輯與和邏輯或值得仔細思考。指定檔案路徑 pdf file url data web ...

PHP判斷遠端檔案是否存在

函式 remote file exists 功能 判斷遠端檔案是否存在 引數 url file 遠端檔案url 返回 存在返回true,不存在或者其他原因返回false function remote file exists url file url arr parse url url file i...