>  기사  >  백엔드 개발  >  php 遍历指定路径下所有目录与文件(示例)

php 遍历指定路径下所有目录与文件(示例)

WBOY
WBOY원래의
2016-07-25 08:55:101186검색
  1. /**
  2. * php 遍历目录与文件
  3. * by bbs.it-home.org
  4. */
  5. function scan_all($dir){
  6. $temp = scandir($dir);
  7. if(is_array($temp) && count($temp)>2){
  8. array_shift($temp);
  9. array_shift($temp);
  10. foreach($temp as $v){
  11. $cur_dir=$dir.DIRECTORY_SEPARATOR.$v;
  12. if(is_dir($cur_dir)){
  13. echo $v." =>";
  14. echo "
    ";
  15. scan_all($cur_dir);
  16. echo "
  17. ";
  18. }else if(is_file($cur_dir)){
  19. echo "FILE:".$v."
    ";
  20. }else{
  21. echo 'err';
  22. }
  23. }
  24. }
  25. }
  26. $dir = "D:/yourdir/";
  27. scan_all($dir);
复制代码

方法2,DirectoryIterator:

  1. /**

  2. * php 遍历目录与文件
  3. * by bbs.it-home.org
  4. */
  5. function directoryiterator($path)
  6. {
  7. $iterator = new DirectoryIterator($path);
  8. foreach ($iterator as $fileinfo) {

  9. if(!$fileinfo->isDot())
  10. {
  11. if($fileinfo->isDir())
  12. {
  13. echo $fileinfo.'=>
    ';
  14. directoryiterator($path.DIRECTORY_SEPARATOR.$fileinfo);
  15. echo '
  16. ';
  17. }
  18. else
  19. {
  20. echo $fileinfo->getFilename().'
    ';
  21. }
  22. }
  23. }
  24. }
  25. $dir = "D:/yourdir/";
  26. directoryiterator($dir);
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.