遍历当前目录下所有的文件

方法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
 * 递归的遍历当前文件夹下所有文件
 * @param  [type] $path [description]
 * @return [type]       [description]
 */
function scan($path)
{
    $list = array();
	if(is_dir($path)){
       $dir = scandir($path);
	}
	if($dir){
		foreach ($dir as $k => $v) {
			if(($v!='..')&&($v!='.')){
				if(is_dir($path.'/'.$v)){
					$list = array_merge($list,scan($path.'/'.$v));
				}else{
					$list[] = $path.'/'.$v;
				}
			}
		}
	}
	return $list;
}

方法二

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * 递归的遍历当前文件夹下所有文件
 * @param  [type] $dir [description]
 * @return [type]      [description]
 */
function scan($dir) {
    $files = array();
 
    if(!is_dir($dir)) {
        return $files;
    }
    $handle = opendir($dir);
    if($handle) {
        while(false !== ($file = readdir($handle))) {
            if ($file != '.' && $file != '..') {
                $filename = $dir . "/"  . $file;
                if(is_file($filename)) {
                    $files[] = $filename;
                }else {
                    $files = array_merge($files, scan($filename));
                }
            }
        }
        closedir($handle);
    }
    return $files;
}

未经允许不得转载:开心乐窝-乐在其中 » 遍历当前目录下所有的文件

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏