php目录文件扫描程序

前端之家收集整理的这篇文章主要介绍了php目录文件扫描程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这段代码来自PHPcms觉得很好,所以拿出来分享给大家,有需要的朋友可以参考一下。

  1. @H_403_6@/** 
  2. @H_403_6@ * 文件扫描 
  3. @H_403_6@ * @param $filepath     目录 
  4. @H_403_6@ * @param $subdir       是否搜索子目录 
  5. @H_403_6@ * @param $ex           搜索扩展 
  6. @H_403_6@ * @param $isdir        是否只搜索目录 
  7. @H_403_6@ * @param $md5   是否生成MD5验证码 
  8. @H_403_6@ * @param $enforcement  强制更新缓存 
  9. @H_403_6@ */ 
  10. function scan_file_lists($filepath$subdir = 1, $ex = ''$isdir = 0, $md5 = 0, $enforcement = 0) { 
  11.  static $file_list = array(); 
  12.  if ($enforcement$file_list = array(); 
  13.  $flags = $isdir ? GLOB_ONLYDIR : 0; 
  14.  $list = glob($filepath.'*'.(!emptyempty($ex) && emptyempty($subdir) ? '.'.$ex : ''), $flags); 
  15.  if (!emptyempty($ex)) $ex_num = strlen($ex); 
  16.  foreach ($list as $k=>$v) { 
  17.   $v1 = str_replace(PHPCMS_PATH, ''$v); 
  18.   if ($subdir && is_dir($v)) { 
  19.    scan_file_lists($v.DIRECTORY_SEPARATOR, $subdir$ex$isdir$md5); 
  20.    continue
  21.   }  
  22.   if (!emptyempty($ex) && strtolower(substr($v, -$ex_num$ex_num)) == $ex) { 
  23.    if ($md5) { 
  24.     $file_list[$v1] = md5_file($v); 
  25.    } else { 
  26.     $file_list[] = $v1
  27.    } 
  28.    continue
  29.   } elseif (!emptyempty($ex) && strtolower(substr($v$ex_num)) != $ex) { 
  30.    unset($list[$k]); 
  31.    continue
  32.   } 
  33.  } 
  34.  return $file_list

猜你在找的PHP相关文章