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开源建站平台小结
Apr 22 PHP
PHP 金额数字转换成英文
May 06 PHP
PHP企业级应用之常见缓存技术篇
Jan 27 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
PHP将XML转数组过程详解
Nov 13 PHP
php生成excel文件的简单方法
Feb 08 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
php如何实现只替换一次或N次
Oct 29 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
php基于自定义函数记录log日志方法
Jul 21 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 curl库实现整站克隆功能
2015/02/12 PHP
php实现paypal 授权登录
2015/05/28 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
php报错502badgateway解决方法
2019/10/11 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
详解Angular 自定义结构指令
2017/06/21 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
老生常谈js数据类型
2017/08/03 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
python中base64加密解密方法实例分析
2015/05/16 Python
python3.5 tkinter实现页面跳转
2018/01/30 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
业务部经理岗位职责
2014/01/04 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
预备党员入党感言
2015/08/01 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
Python中request的基本使用解决乱码问题
2022/04/12 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android