PHP中file_exists与is_file,is_dir的区别介绍

PHP中file_exists与is_file,is_dir的区别介绍

作者: 字体:[ 增加  减小] 类型:转载
很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢
id="cproIframe_u1892994_2" width="580" height="90" src="http://pos.baidu.com/acom?adn=3&at=231&aurl=&cad=1&ccd=24&cec=GBK&cfv=18&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&dai=2&dis=0&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DyXBVjKnOqXvYJjaa8iWLeG3SJOIJdOv6BVZTr8eDkz2B_GOg7jAiEWmTsWpXInwO%26wd%3D%26eqid%3D9195b5770000509f0000000255caffa3&ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F31246.htm&lu_161=0&lunum=6&n=jb51_cpr&pcs=1345x659&pis=10000x10000&ps=516x207&psr=1366x768&pss=1345x517&qn=bae2011b83dc66a7&rad=&rsi0=580&rsi1=90&rsi5=4&rss0=%23FFFFFF&rss1=%23F7FCFF&rss2=%230000ff&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_3&stid=5&td_id=1892994&titFF=%E5%AE%8B%E4%BD%93&titFS=12&titTA=left&tn=text_default_580_90&tpr=1439280685996&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1892994&ti=PHP%E4%B8%ADfile_exists%E4%B8%8Eis_file%2Cis_dir%E7%9A%84%E5%8C%BA%E5%88%AB%E4%BB%8B%E7%BB%8D_php%E6%8A%80%E5%B7%A7_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&tt=1439280685814.358.425.429" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true">
很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢? 

PHP的 file_exists = is_dir + is_file 

它既可以判断文件是否存在,又可以判断目录是否存在。但这样一个全面的函数执行效率非常低,就像asp中request不指定是form,还是get,cookies,所以结论是: 

◦如果要判断目录是否存在,请用独立函数 is_dir(directory) 
◦如果要判断文件是否存在,请用独立函数 is_file(filepath) 

is_file 只判断文件是否存在; 
file_exists 判断文件是否存在或者是目录是否存在; 
is_dir 判断目录是否存在; 

查看手册,虽然这两个函数的结果都会被缓存,但是is_file却快了N倍。 
还有一个值得注意的: 
文件存在的情况下,is_file比file_exists要快N倍; 
文件不存在的情况下,is_file比file_exists要慢; 
结论是,file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值