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的宝库目录--PEAR
Oct 09 PHP
PHP新手上路(四)
Oct 09 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
PHP中“=&gt;
Mar 01 PHP
PHP实现的策略模式示例
Mar 20 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
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
python感知机实现代码
2019/01/18 Python
python实现简单图片物体标注工具
2019/03/18 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
如何基于Python批量下载音乐
2019/11/11 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
简单介绍Object类的功能、常用方法
2013/10/02 面试题
致共产党员倡议书
2014/04/16 职场文书
历史学专业求职信
2014/06/19 职场文书
离婚财产分配协议书
2014/10/21 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
SQL Server中的游标介绍
2022/05/20 SQL Server