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版(5)
Oct 09 PHP
全文搜索和替换
Oct 09 PHP
利用PHP制作简单的内容采集器的代码
Nov 28 PHP
php下通过POST还是GET来传值
Jun 05 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
对于PHP 5.4 你必须要知道的
Aug 07 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
CodeIgniter分页类pagination使用方法示例
Mar 28 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
PHP 批量删除 sql语句
2009/06/05 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python通过select实现异步IO的方法
2015/06/04 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
用python写爬虫简单吗
2020/07/28 Python
python中time、datetime模块的使用
2020/12/14 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
判断单链表中是否存在环
2012/07/16 面试题
大学生个人事迹材料
2014/01/21 职场文书
学生党支部先进事迹
2014/02/04 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
教师年终个人总结
2015/02/11 职场文书
检讨书模板大全
2015/05/07 职场文书
七一活动主持词
2015/06/29 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
python必学知识之文件操作(建议收藏)
2021/05/30 Python
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS