首页 / PHP / 使用glob方法遍历文件夹下所有文件
使用glob方法遍历文件夹下所有文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用glob方法遍历文件夹下所有文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1947字,纯文字阅读大概需要3分钟。
内容图文
![使用glob方法遍历文件夹下所有文件](/upload/InfoBanner/zyjiaocheng/156/dfea676203b440a4ba0307e991ce523d.jpg)
例子:找出指定目录下的所有php文件(不搜寻子文件夹),代码如下:
$path = dirname(__FILE__);
$result = traversing($path);
print_r($result);
functiontraversing($path){$result = array();
if($handle = opendir($path)){
while($file=readdir($handle)){
if($file!='.' && $file!='..'){
if(strtolower(substr($file, -4))=='.php'){
array_push($result, $file);
}
}
}
}
return$result;
}
?>
如使用glob方法来遍历则可以简化代码
$path = dirname(__FILE__);
$result = glob($path.'/*.php');
print_r($result);
?>
注意,glob返回的会是path+搜寻结果的路径,例如path=’/home/fdipzone’,以上例子则返回
Array
(
[0] => /home/fdipzone/a.php
[1] => /home/fdipzone/b.php
[2] => /home/fdipzone/c.php
)
这是与opendir,readdir返回的结果不同的地方。
如果只是遍历当前目录。可以改成这样:glob(‘*.php’);
glob语法说明:
array glob ( string $pattern [, int$flags = 0 ] )
glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。glob使用正则匹配路径功能强大。
flags 有效标记有:
GLOB_MARK - 在每个返回的项目中加一个斜线
GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE - 反斜线不转义元字符
GLOB_BRACE - 扩充 {a,b,c} 来匹配 ‘a’,’b’ 或 ‘c’
GLOB_ONLYDIR - 仅返回与模式匹配的目录项
GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
例子:使用glob方法遍历指定文件夹(包括子文件夹)下所有php文件
$path = dirname(__FILE__);
$result = array();
traversing($path, $result);
print_r($result);
functiontraversing($path, &$result){$curr = glob($path.'/*');
if($curr){
foreach($curras$f){
if(is_dir($f)){
array_push($result, $f);
traversing($f, $result);
}elseif(strtolower(substr($f, -4))=='.php'){
array_push($result, $f);
}
}
}
}
?>
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了使用glob方法遍历文件夹下所有文件,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的使用glob方法遍历文件夹下所有文件全部内容,希望文章能够帮你解决使用glob方法遍历文件夹下所有文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。