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 xml文件操作实现代码(二)
Mar 20 PHP
php学习之流程控制实现代码
Jun 09 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
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
MySQL数据源表结构图示
2008/06/05 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
javascript 写类方式之八
2009/07/05 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
JavaScript动态绑定详解
2017/09/14 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python map和reduce函数用法示例
2015/02/26 Python
python实现简单socket通信的方法
2016/04/19 Python
Python中内建函数的简单用法说明
2016/05/05 Python
Python实现图片添加文字
2019/11/26 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
预备党员思想汇报范文
2013/12/29 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
大专生自荐书范文
2014/06/22 职场文书
大学班长竞选稿
2015/11/20 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python