/**
* 遍历目录
* @staticvar int $depth
* @staticvar array $path
* @param type $dir
* @param type $clear 是否销毁静态变量
* @return string|boolean
*/
public function _scan($dir, $clear = false) {
static $depth = 0;
static $path = array();
// 无限遍历
// if ($depth >= 10000) {
// return false;
// }
if($clear) {
$path = null;
static $path = array();
}
$dirArr = scandir($dir);
foreach ($dirArr as $v) {
if (substr($v, 0, 1) != '.') {//去掉隐藏目录或文件
$dirname = $dir . DS . $v; //子文件夹的目录地址
if (is_dir($dirname)) {
$depth++;
$this->_scan($dirname);
} else {
$path[] = $dirname;
}
}
}
return $path;
}