php is_file()和is_dir()用于遍历目录时用法注意事项


Posted in PHP onMarch 02, 2010

1、目录inc有以下内容:
子目录 0
子目录 a
footer.html
header.html
login_function.inc.php
mysqli_connect.php
style.css

2、现在PHP要遍历inc目录,并只显示文件,不显示目录0和a,代码如下:

$dir = $_SERVER['DOCUMENT_ROOT']; 
$dir = "$dir/inc/"; 
$d = opendir($dir); 
while(false !==($f=readdir($d))) 
{ 
if(is_file($f)){ 
echo " <h2>$f </h2>"; 
}else{ 
echo " <h2>是目录$f </h2>"; 
} 
} 
closedir($d);

结果却只显示了“footer.html”是文件,其它都变成目录了:
是目录.
是目录..
是目录a
footer.html
是目录header.html
是目录login_function.inc.php
是目录mysqli_connect.php
是目录style.css

这是由于不能在is_file和is_dir中直接使用“$f”,这样会被PHP当作是根目录下的该文件,而在我的根目录下有footer.html这个文件,所以会正确显示这个文件。其它则不行。代码改成:
要正确显示,需要改造代码:

while(false !== ($f=readdir($d))) 
{ 
if(is_file("$dir/$f")){ 
echo "<h2>$f</h2>"; 
}else{ 
echo "<h2>是目录$f</h2>"; 
} 
} 
closedir($d);
PHP 相关文章推荐
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php微信开发之百度天气预报
Nov 18 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
php 读取shell管道传输过来的内容
Mar 01 #PHP
php 连接mssql数据库 初学php笔记
Mar 01 #PHP
discuz authcode 经典php加密解密函数解析
Jul 12 #PHP
php下使用SimpleXML 处理XML 文件
Feb 27 #PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 #PHP
基于pear auth实现登录验证
Feb 26 #PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 #PHP
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
组合算法的PHP解答方法
2012/02/04 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
firebug的一个有趣现象介绍
2011/11/30 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
javaScript语法总结
2016/11/25 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
python的keyword模块用法实例分析
2015/06/30 Python
python中import reload __import__的区别详解
2017/10/16 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
公司中层干部的自我评价分享
2014/03/01 职场文书
村干部培训方案
2014/05/02 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
如何利用pygame实现打飞机小游戏
2021/05/30 Python
python四种出行路线规划的实现
2021/06/23 Python
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js