ホームページ > バックエンド開発 > PHPチュートリアル > PHP は、指定されたパスの下にあるすべてのディレクトリとファイルを走査します (例)

PHP は、指定されたパスの下にあるすべてのディレクトリとファイルを走査します (例)

WBOY
リリース: 2016-07-25 08:55:10
オリジナル
1233 人が閲覧しました
  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. }else if(is_file($cur_dir)){
  18. echo "FILE:".$v."
    ";
  19. }else{
  20. echo 'err';
  21. }
  22. }
  23. }
  24. }
  25. $dir = "D:/yourdir/";
  26. 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. else
  18. {
  19. echo $fileinfo->getFilename().'
    ';
  20. }
  21. }
  22. }
  23. }
  24. $dir = "D:/yourdir/";
  25. directoryiterator($dir);

复制代


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート