使用php glob函数查找文件,遍历文件目录,转

函数说明:array glob ( string $pattern [, int $flags ] )

功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)

参数说明:第一个参数:匹配模式;第二个可选参数:

  • GLOB_MARK - 在每个返回的项目中加一个斜线
  • GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
  • GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
  • GLOB_NOESCAPE - 反斜线不转义元字符
  • GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
  • GLOB_ONLYDIR - 仅返回与模式匹配的目录项

案例一:

  1. /** by www.phpddt.com */
  2. $file = glob('{,.}*', GLOB_BRACE);//匹配所有文件
  3. $file1 = glob('*.php');//匹配所有php文件
  4. print_r($file1);

案例二:你还在用opendir readdir遍历文件吗,你真out了!

  1. <?php
  2. /**
  3. * @blog<http://www.phpddt.com>
  4. */
  5. print_r(listDir('./'));//遍历当前目录
  6. function listDir($dir){
  7. $dir .= substr($dir,-1)=='/'?'':'/';
  8. $dirInfo = array();
  9. foreach(glob($dir.'*')as $v){
  10. $dirInfo[]= $v;
  11. if(is_dir($v)){
  12. $dirInfo = array_merge($dirInfo, listDir($v));
  13. }
  14. }
  15. return $dirInfo;
  16. }