//第一种 遍历放入数据中 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>'; } } }