php递归遍历目录文件与文件夹

他们利用了递归的方法来实例目录遍历,可以查找出无限级目录的文件与文件夹中的文件并显示,下面是实例代码:

  1. <?php
  2. $dir = 'f:game';
  3. function read_dir_all($dir) {
  4. $ret = array('dirs'=>array(), 'files'=>array());
  5. if ($handle = opendir($dir)) {
  6. while (false !== ($file = readdir($handle))) {
  7. if($file != '.' && $file !== '..') {
  8. $cur_path = $dir . directory_separator . $file;
  9. if(is_dir($cur_path)) {
  10. $ret['dirs'][$cur_path] = read_dir_all($cur_path);
  11. } else {
  12. $ret['files'][] = $cur_path;
  13. }
  14. }
  15. }
  16. closedir($handle);
  17. }
  18. return $ret;
  19. }
  20. $p = read_dir_all($dir);
  21. echo '<pre>';
  22. var_dump($p);
  23. echo '</pre>';
  24. ?>