最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:
/*** 遍历目录
* @param string $dir 绝对/相对路径
* @param string $filter 默认*返回所有文件及文件夹,*.php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件
* @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册
* @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值
* @return array
*/
function globdir($dir, $filter = '*', $patten = GLOB_BRACE, $nocache = null) {
static $file_arr = array ()
isset($nocache) && $file_arr = array ()
if (!is_dir($dir)) return
if ($patten == GLOB_ONLYDIR) {
$code = 'if (is_dir($file)) {$file_arr[] = $fileglobdir($file, "*", GLOB_ONLYDIR)}'
} else {
$code = 'is_file($file) ? $file_arr[] = $file : globdir($file,"' . $filter . '",' . $patten . ')'
}
array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), &$file_arr)
if ($filter != '*') {
array_walk(glob("{$dir}/*", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param)globdir($dir, $filter, $patten)'), "{$filter}|{$patten}")
}
return $file_arr
}
1楼的弱爆了..现在都玩php5了..用scandir函数最方便.
<?php
$dir = "."//当前目录
list_file($dir)
function list_file($dir){
$list = scandir($dir)// 得到该文件下的所有文件和文件夹
foreach($list as $file){//遍历
$file_location=$dir."/".$file//生成路径
if(is_dir($file_location) &&$file!="." &&$file!=".."){ //判断是不是文件夹
echo "------------------------sign in $file_location------------------"
list_file($file_location)//继续遍历
}
echo "<br/>"
}
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)