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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
CodeIgniter多语言实现方法详解
Jan 20 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
laravel Model 执行事务的实现
Oct 10 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
yii分页组件用法实例分析
2015/12/28 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
JavaScript 10件让人费解的事情
2010/02/15 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python实现周期性抓取网页内容的方法
2015/11/04 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python中模块的__all__属性详解
2017/10/26 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Python加速程序运行的方法
2020/07/29 Python
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
初入社会应届生求职信
2013/11/18 职场文书
师德师风个人反思
2014/04/28 职场文书
倡议书格式及范文
2015/04/29 职场文书
单位计划生育责任书
2015/05/09 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
Pytorch 如何实现常用正则化
2021/05/27 Python