php中判斷文件存在是用file_exists還是is_file的整理
更新時(shí)間:2012年09月12日 20:54:06 作者:
在寫(xiě)程序時(shí)發(fā)現(xiàn)在判斷文件是否存在時(shí),有兩種寫(xiě)法,有的人用了is_file,有的人用了file_exists,用哪個(gè)更好或者說(shuō)更合適呢
看了這篇PHP中file_exists與is_file,is_dir的區(qū)別的說(shuō)法基本明白,PHP的 file_exists = is_dir + is_file。
寫(xiě)程序驗(yàn)證一下:
分別執(zhí)行1000次,記錄所需時(shí)間。
文件存在(當(dāng)前目錄)
is_file:0.4570ms
file_exists:2.0640ms
文件存在(絕對(duì)路徑3層/www/hx/a/)
is_file:0.4909ms
file_exists:3.3500ms
文件存在(絕對(duì)路徑5層/www/hx/a/b/c/)
is_file:0.4961ms
file_exists:4.2100ms
文件不存在(當(dāng)前目錄)
is_file:2.0170ms
file_exists:1.9848ms
文件不存在(絕對(duì)路徑5層/www/hx/a/b/c/)
is_file:4.1909ms
file_exists:4.1502ms
目錄存在
file_exists:2.9271ms
is_dir:0.4601ms
目錄不存在
file_exists:2.9719ms
is_dir:2.9359ms
is_file($file)
file_exists($file)
當(dāng)$file是目錄時(shí),is_file返回false,file_exists返回true
文件存在的情況下,is_file比f(wàn)ile_exists要快得多;
要檢測(cè)文件所在的目錄越深,速度差越多,但至少快4倍。
文件不存在的情況下,is_file比f(wàn)ile_exists要慢一點(diǎn)點(diǎn),但可以忽略不計(jì)。
目錄存在的情況下,is_dir比f(wàn)ile_exists要快得多;
目錄不存在的情況下,is_dir比f(wàn)ile_exists要慢一點(diǎn)點(diǎn),但可以忽略不計(jì)。
結(jié)論:
如果要判斷文件是否存在,用函數(shù) is_file(),
如果要判斷目錄是否存在,用函數(shù) is_dir(),
好像沒(méi)地方需要用file_exists了,不確定傳入的參數(shù)是文件還是目錄的時(shí)候用?
寫(xiě)程序驗(yàn)證一下:
分別執(zhí)行1000次,記錄所需時(shí)間。
文件存在(當(dāng)前目錄)
is_file:0.4570ms
file_exists:2.0640ms
文件存在(絕對(duì)路徑3層/www/hx/a/)
is_file:0.4909ms
file_exists:3.3500ms
文件存在(絕對(duì)路徑5層/www/hx/a/b/c/)
is_file:0.4961ms
file_exists:4.2100ms
文件不存在(當(dāng)前目錄)
is_file:2.0170ms
file_exists:1.9848ms
文件不存在(絕對(duì)路徑5層/www/hx/a/b/c/)
is_file:4.1909ms
file_exists:4.1502ms
目錄存在
file_exists:2.9271ms
is_dir:0.4601ms
目錄不存在
file_exists:2.9719ms
is_dir:2.9359ms
is_file($file)
file_exists($file)
當(dāng)$file是目錄時(shí),is_file返回false,file_exists返回true
文件存在的情況下,is_file比f(wàn)ile_exists要快得多;
要檢測(cè)文件所在的目錄越深,速度差越多,但至少快4倍。
文件不存在的情況下,is_file比f(wàn)ile_exists要慢一點(diǎn)點(diǎn),但可以忽略不計(jì)。
目錄存在的情況下,is_dir比f(wàn)ile_exists要快得多;
目錄不存在的情況下,is_dir比f(wàn)ile_exists要慢一點(diǎn)點(diǎn),但可以忽略不計(jì)。
結(jié)論:
如果要判斷文件是否存在,用函數(shù) is_file(),
如果要判斷目錄是否存在,用函數(shù) is_dir(),
好像沒(méi)地方需要用file_exists了,不確定傳入的參數(shù)是文件還是目錄的時(shí)候用?
您可能感興趣的文章:
- php中檢查文件或目錄是否存在的代碼小結(jié)
- php file_exists 檢查文件或目錄是否存在的函數(shù)
- PHP中判斷文件存在使用is_file還是file_exists?
- PHP判斷文件是否存在、是否可讀、目錄是否存在的代碼
- php判斷文件夾是否存在不存在則創(chuàng)建
- php下利用curl判斷遠(yuǎn)程文件是否存在的實(shí)現(xiàn)代碼
- PHP判斷網(wǎng)絡(luò)文件是否存在的方法
- PHP判斷遠(yuǎn)程圖片或文件是否存在的實(shí)現(xiàn)代碼
- PHP使用get_headers函數(shù)判斷遠(yuǎn)程文件是否存在的方法
- PHP讀取文件內(nèi)容的五種方式
- php讀取文件內(nèi)容到數(shù)組的方法
- PHP檢查文件是否存在,不存在自動(dòng)創(chuàng)建及讀取文件內(nèi)容操作示例
相關(guān)文章
PHP基于反射機(jī)制實(shí)現(xiàn)插件的可插拔設(shè)計(jì)詳解
這篇文章主要介紹了PHP基于反射機(jī)制實(shí)現(xiàn)插件的可插拔設(shè)計(jì),結(jié)合實(shí)例形式較為詳細(xì)的分析了插件的功能、反射機(jī)制原理與實(shí)現(xiàn)可插拔設(shè)計(jì)的操作步驟,需要的朋友可以參考下2016-11-11
PHP連接MySQL數(shù)據(jù)庫(kù)并以json格式輸出
PHP連接數(shù)據(jù)庫(kù)有多種方法,現(xiàn)介紹常用的MySQL數(shù)據(jù)庫(kù)連接方法,PHP連接MySQL也有兩種方式,一是面向?qū)ο螅敲嫦蜻^(guò)程方式,兩種方法稍有區(qū)別。下面通過(guò)代碼介紹兩種方法連接MySQL并以json格式輸出2018-05-05
PHP8使用Attributes管理代碼元數(shù)據(jù)的示例詳解
在PHP 8中引入了一項(xiàng)強(qiáng)大的功能,即"Attributes"(屬性),它們提供了一種新的方法來(lái)管理和操縱代碼元數(shù)據(jù),Attributes允許你在代碼中添加元數(shù)據(jù),本文給大家介紹了在PHP8中是如何使用Attributes管理代碼元數(shù)據(jù),需要的朋友可以參考下2023-12-12
由php的call_user_func傳reference引發(fā)的思考
由php的call_user_func傳reference引發(fā)的思考,使用call_user_func傳reference的朋友可以參考下。2010-07-07
PHP實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的幾種常見(jiàn)方式總結(jié)
PHP實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)有多種方式,常用的包括使用header()函數(shù)、使用JavaScript進(jìn)行跳轉(zhuǎn)、使用meta標(biāo)簽、使用超鏈接等,下面分別詳細(xì)介紹這幾種方式,并舉例說(shuō)明,需要的朋友可以參考下2023-11-11

