标题:PHP最简单的遍历所有目录和文件的方法(glob函数) 出处:沧海一粟 时间:Sat, 25 Sep 2010 23:27:19 +0000 作者:jed 地址:http://www.dzhope.com/post/697/ 内容: 我总是觉得PHP用来遍历目录和文件还挺麻烦的,要用到好几个内置函数经过一系列判断才能达到目的,心里总觉得有那么不爽。今天给大家分享一段我写的最简单的实现遍历所有目录和文件的方法。 没 有用传统方式的opendir,readdir之类的函数,仅用到了PHP的内置glob函数。此函数支持PHP4.3以上版本。手册上的描述是:寻找与 模式匹配的文件路径,glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。 如何?很帅的一个函数吧,有了它,仅用8行代码实现遍历当前目录下的所有目录和文件。示例代码如下: $i="*"; while($file=glob($i)){ foreach($file as $s){ $t=is_dir($s) ? "[dir] $s" : "[file] $s "; echo $t; } $i.="/*"; } 以上输出中的[dir]即表示文件夹,[file]即表示文件。注意,遍历的是当前目录下的所有目录和文件,要遍历整个站点,把这个文件放在根目录就行啦!^_^ array glob( string $pattern [, int $flags ] ) glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。 返回一个包含有匹配文件/目录的数组。如果出错返回 FALSE。 可选参数 可以用第二个参数,达到不同的目的。例如下面的代码返回dir目录下的两种类型的文件 $aFiles = glob(‘{dir/*.jpg,myDirectory/*.gif}’,GLOB_BRACE); GLOB_BRACE告诉glob(),我用大括号扩起了两种不同的文件扩展名。 Generated by Bo-blog 2.1.1 Release