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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
PHP初学入门
Nov 19 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
关于svn冲突的解决方法
Jun 21 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 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
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
vue自定义指令用法经典实例小结
2019/03/16 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
python重试装饰器示例
2014/02/11 Python
Python的randrange()方法使用教程
2015/05/15 Python
Django内容增加富文本功能的实例
2017/10/17 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
煤矿班组长岗位职责
2013/12/29 职场文书
个人委托书如何写
2014/09/25 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
创先争优承诺书
2015/01/20 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
django上传文件的三种方式
2021/04/29 Python
python3 hdf5文件 遍历代码
2021/05/19 Python
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python