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 URL参数获取方式的四种例子
Feb 28 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php格式化电话号码的方法
Apr 24 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
PHP在线书签系统分享
Jan 04 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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判断网络文件是否存在的方法
2015/03/12 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python面试题之列表声明实例分析
2019/07/08 Python
Python中的self用法详解
2019/08/06 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
如何开发安全的AJAX应用
2014/03/26 面试题
财务工作个人总结
2015/02/27 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android