PHP使用glob函数遍历目录或文件夹的方法


Posted in PHP onDecember 16, 2014

本文实例讲述了PHP使用glob函数遍历目录或文件夹的方法。分享给大家供大家参考。具体分析如下:

一说到php遍历目录我们很多朋友会想到是opendir与readdir,这样就可以遍历目录并显示文件,但在php中有一个更简洁的遍历目录的函数glob估计很少有人知道此函数,不过我觉得比起opendir与readdir要简单多了.

PHP glob函数的使用:glob—寻找与模式匹配的文件路径.

例子,代码如下:

<?php

$fileList=glob('*.*'); 

for ($i=0; $i<count($fileList); $i++) { 

echo $fileList[$i].'<br />'; 

} 

$fileList2=glob('images/*'); 

for ($i=0; $i<count($fileList2); $i++) { 

echo $fileList2[$i].'<br />'; 

} 

$fileList3=glob('*'); 

for ($i=0; $i<count($fileList3); $i++) { 

echo $fileList3[$i].'<br />'; 

} 

?>

第一种:glob函数的参数里面是:*.* ,意思是扫描当前目录下的文件,不包括文件夹,返回的是一个数组,以下二种情况一样.

第二种:glob函数的参数里面是:images/*,是指定目录扫描所有的文件,包括文件夹,也可以扫描指定的文件类型,如:images/*.jpg;注意,如果只输入:images只会返回该文件夹名称,如果只输入:images/则什么也不会返回.

第三种:glob函数的参数里面是:*,可以扫描出当前目录下的所有文件、目录及子目录的文件.

好我们再看看opendir与readdir遍历目录,代码如下:

<?php 

/********************** 

一个简单的目录递归函数 

第一种实现办法:用dir返回对象 

***********************/ 

function tree($directory)  

{  

$mydir = dir($directory);  

echo "<ul>\n";  

while($file = $mydir->read()) 

{  

if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))  

{ 

echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";  

tree("$directory/$file");  

}  

else  

echo "<li>$file</li>\n";  

}  

echo "</ul>\n";  

$mydir->close();  

}  

//开始运行 

echo "<h2>目录为粉红色</h2><br>\n";  

tree("./nowamagic"); 

/*********************** 

第二种实现办法:用readdir()函数 

************************/ 

function listDir($dir) 

{ 

if(is_dir($dir)) 

   { 

if ($dh = opendir($dir))  

{ 

   while (($file = readdir($dh)) !== false) 

{ 

if((is_dir($dir."/".$file)) && $file!="." && $file!="..") 

{ 

echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>"; 

listDir($dir."/".$file."/");

} 

else 

{ 

if($file!="." && $file!="..") 

{ 

echo $file."<br>"; 

 } 

} 

   } 

   closedir($dh); 

} 

   } 

} 

//开始运行 

listDir("./nowamagic"); 

?>

好了大家都看到子glob与opendir与readdir遍历输入的写法了,从代码简洁上来说glob是完胜了opendir与readdir,在功能实现上达到的是相同的效果,所以推荐使用glob函数遍历目录吧。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中基本符号及使用方法
Mar 23 PHP
php错误级别的设置方法
Jun 17 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
php精确的统计在线人数的方法
Oct 21 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
php实现登录页面的简单实例
Sep 29 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 #PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 #PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 #PHP
php使用ereg验证文件上传的方法
Dec 16 #PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 #PHP
php中最简单的字符串匹配算法
Dec 16 #PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 #PHP
You might like
非常好的php目录导航文件代码
2006/10/09 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
学习Django知识点分享
2019/09/11 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
python基于opencv实现人脸识别
2021/01/04 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
考察现实表现材料
2014/05/19 职场文书
安全宣传标语口号
2014/06/06 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python
MySQL 如何设计统计数据表
2021/06/15 MySQL
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL