php获取文件夹中文件的两种方法

php获取文件夹中文件的两种方法:

传统方法:

在读取某个文件夹下的内容的时候

使用 opendir readdir结合while循环过滤 当前文件夹和父文件夹来操作的

  1. function readFolderFiles($path)
  2. {
  3. $list = [];
  4. $resource = opendir($path);
  5. while ($file = readdir($resource))
  6. {
  7. //排除根目录
  8. if ($file != ".." && $file != ".")
  9. {
  10. if (is_dir($path . "/" . $file))
  11. {
  12. //子文件夹,进行递归
  13. $list[$file] = readFolderFiles($path . "/" . $file);
  14. }
  15. else
  16. {
  17. //根目录下的文件
  18. $list[] = $file;
  19. }
  20. }
  21. }
  22. closedir($resource);
  23. return $list ? $list : [];
  24. }

方法二

使用 scandir函数 可以扫描文件夹下内容 代替while循环读取

  1. function scandirFolder($path)
  2. {
  3. $list = [];
  4. $temp_list = scandir($path);
  5. foreach ($temp_list as $file)
  6. {
  7. //排除根目录
  8. if ($file != ".." && $file != ".")
  9. {
  10. if (is_dir($path . "/" . $file))
  11. {
  12. //子文件夹,进行递归
  13. $list[$file] = scandirFolder($path . "/" . $file);
  14. }
  15. else
  16. {
  17. //根目录下的文件
  18. $list[] = $file;
  19. }
  20. }
  21. }
  22. return $list;
  23. }