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下删除字符串中HTML标签的函数
Aug 27 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
PHP生成条形码大揭秘
Sep 24 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
php,ajax实现分页
2008/03/27 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python简明入门教程
2015/08/04 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
python与pycharm有何区别
2020/07/01 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
开学季活动策划方案
2014/02/28 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
2014年仓库工作总结
2014/11/20 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
礼仪培训心得体会
2016/01/22 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
PyMongo 查询数据的实现
2021/06/28 Python
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript