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 相关文章推荐
PR值查询 | PageRank 查询
Dec 20 PHP
PHP中strtotime函数使用方法详解
Nov 27 PHP
php多文件上传实现代码
Feb 20 PHP
php调用c接口无错版介绍
Mar 11 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
php常用数学函数汇总
Nov 21 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
php base64 编码与解码实例代码
Mar 21 PHP
CodeIgniter整合Smarty的方法详解
Aug 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php实现webservice实例
2014/11/06 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
重定向实现代码
2006/11/20 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
python之django母板页面的使用
2018/07/03 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
详解python中的数据类型和控制流
2019/08/08 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
优秀英语专业毕业生求职信
2013/11/23 职场文书
中国好声音华少广告词
2014/03/17 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
部门2014年度工作总结
2014/11/12 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers