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+oracle 分页类
Oct 09 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
php读取csv文件并输出的方法
Mar 14 PHP
PHP 微信支付类 demo
Nov 30 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
Jan 12 PHP
PHP图片加水印实现方法
May 06 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
PHP - Html Transfer Code
2006/10/09 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
js实现内置计时器
2019/12/16 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python实现截屏的函数
2015/07/26 Python
python实现textrank关键词提取
2018/06/22 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
django-csrf使用和禁用方式
2020/03/13 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
研究生毕业自我鉴定范文
2014/03/27 职场文书
2014年村官工作总结
2014/11/24 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
Nginx快速入门教程
2021/03/31 Servers
Mysql 设置boolean类型的操作
2021/06/04 MySQL
python单元测试之pytest的使用
2021/06/07 Python
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python