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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP学习记录之数组函数
Jun 01 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
Mar 30 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 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
全文搜索和替换
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
js定义类的几种方法(推荐)
2016/06/08 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
vue自定义正在加载动画的例子
2019/11/14 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
日本语毕业生自荐信
2014/02/01 职场文书
人民教师求职自荐信
2014/03/12 职场文书
高中生班主任评语
2014/04/25 职场文书
运动会班级口号
2014/06/09 职场文书
离婚协议书范本样本
2014/08/19 职场文书
新党章的学习心得体会
2014/11/07 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
小升初自荐信范文
2015/03/05 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js