php is_file()和is_dir()用于遍历目录时用法注意事项

2015-01-24信息快讯网

遍历一个目录并区分显示其中的文件和子目录文件夹的实现代码。

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数组操作汇总 php数组的使用技巧
PHP中改变图片的尺寸大小的代码
php中用foreach来操作数组的代码
PHP Undefined index报错的修复方法
PHP 数据结构 算法描述 冒泡排序 bubble sort
php 目录与文件处理-郑阿奇(续)
PHP 数据结构 算法 三元组 Triplet
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
yii框架源码分析之创建controller代码
php dirname(__FILE__) 获取当前文件的绝对路径
PHP获取文件绝对路径的代码(上一级目录)
rrmdir php中递归删除目录及目录下的文件
PHP统计目录下的文件总数及代码行数(去除注释及空行)
PHP目录函数实现创建、读取目录教程实例
PHP is_dir() 判断给定文件名是否是一个目录
PHP正则的Unknown Modifier错误解决方法
php 读取shell管道传输过来的内容
php 连接mssql数据库 初学php笔记
discuz authcode 经典php加密解密函数解析
php下使用SimpleXML 处理XML 文件
PHP 导出数据到淘宝助手CSV的方法分享
Search File Contents PHP 搜索目录文本内容的代码
PHPMailer 中文使用说明小结
用php实现让页面只能被百度gogole蜘蛛访问的方法
PHP 获取目录下的图片并随机显示的代码
PHP simple_html_dom.php+正则 采集文章代码
php遍历目录viewDir函数
PHP 配置open_basedir 让各虚拟站点独立运行
php download.php实现代码 跳转到下载文件(response.redirect)
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
PHP 配置文件中open_basedir选项作用
PHP获取当前文件所在目录 getcwd()函数
PHP mkdir()定义和用法
©2014-2024 dbsqp.com