PHP怎么递归遍历一个文件夹下的有文件和文件夹

PHP怎么递归遍历一个文件夹下的有文件和文件夹?

PHP可以使用scandir()函数来读取一个文件夹下的所有内容,然后用is_dir()函数来判断是否是文件夹,如果是文件夹,就继续递归调用自己,如果是文件,就输出文件名。下面是一个示例代码:

<?php
//定义一个函数,接收一个文件夹路径作为参数
function traverse_folder($folder_path) {
  //遍历文件夹中的所有文件和子文件夹
  foreach (scandir($folder_path) as $item) {
    //跳过隐藏的文件.和..
    if ($item == '.' || $item == '..') continue;
    //拼接完整的路径
    $subpath = $folder_path . '/' . $item;
    //判断是否是文件夹
    if (is_dir($subpath)) {
      //如果是文件夹,就输出文件夹名,并递归调用自己
      echo "<font color='red'>$subpath</font><br>";
      traverse_folder($subpath);
    } else {
      //如果是文件,就输出文件名
      echo $subpath . "<br>";
    }
  }
}

//测试
traverse_folder('./');
?>

Leave a Comment

豫ICP备19001387号-1