php遍历文件夹下的所有文件及文件夹

//第一种 遍历放入数据中
function my_scandir($dir)
{
	$files = array();
	if ( $handle = opendir($dir) ) {
		while ( ($file = readdir($handle)) !== false ) 
		{
			if ( $file != ".." && $file != "." ) 
			{
				if ( is_dir($dir . "/" . $file) ) 
				{
					$files[$file] = my_scandir($dir . "/" . $file);
				}
				else 
				{
					$files[] = $file;
				}
			}
		}
		closedir($handle);
		return $files;
	}
}
//第二种 直接输出
function traverse($path = '.') {
	$current_dir = opendir ( $path ); //opendir()返回一个目录句柄,失败返回false
	while ( ($file = readdir ( $current_dir )) !== false ) { //readdir()返回打开目录句柄中的一个条目
		$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
		if ($file == '.' || $file == '..') {
			continue;
		} else if (is_dir ( $sub_dir )) { //如果是目录,进行递归
			echo '文件目录 ' . $file . ':<br>';
			traverse ( $sub_dir );
		} else { //如果是文件,直接输出
			echo '文件路径' . $path . ': ' . $file . '<br>';
		}
	}
}

  

posted @ 2014-03-20 22:37  风与叶子  阅读(384)  评论(0编辑  收藏  举报