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 相关文章推荐
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 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
YB217、YB235、YB400浅听
2021/03/02 无线电
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
Python count函数使用方法实例解析
2020/03/23 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
CSS3中的transform属性进行2D和3D变换的基本用法
2016/05/12 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
道路运输企业安全生产责任书
2014/07/28 职场文书
供电工程专业求职信
2014/08/09 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书