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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php学习笔记之 函数声明
Jun 09 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
php目录拷贝实现方法
Jul 10 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
PHP房贷计算器实例代码,等额本息,等额本金
Apr 01 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
Laravel find in set排序实例
Oct 09 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利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
心扬JS分页函数代码
2010/09/10 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
大学本科毕业生求职信范文
2013/12/18 职场文书
社区志愿者心得体会
2014/01/03 职场文书
开工典礼策划方案
2014/05/23 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
Python语言内置数据类型
2022/02/24 Python
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers