相关文章推荐

思路:首先获取一个目录下所有文件名可以使用 scandir() 函数。scandir() 函数返回指定目录中的文件和目录的数组。因为这个返回的数据不包含子目录下文件,所以可以使用递归来处理。

* @param $dir 要查找的文件路径 * @param $dir_array 存储文件名的数组 function find_files( $dir , & $dir_array ) // 读取当前目录下的所有文件和目录(不包含子目录下文件) $files = scandir ( $dir ); if ( is_array ( $files )) { foreach ( $files as $val ) { // 跳过. 和 .. if ( $val == '.' || $val == '..' ) continue ; // 判断是否是目录 if ( is_dir ( $dir . '/' . $val )) { // 将当前目录添加进数组 $dir_array [ $dir ][] = $val ; // 递归继续往下寻找 find_files( $dir . '/' . $val , $dir_array ); } else { // 不是目录也需要将当前文件添加进数组 $dir_array [ $dir ][] = $val ; // 调用 $folder_list = array (); find_files( '/demo/', $folder_list ); var_dump ( $folder_list );
 
推荐文章