ホームページ >バックエンド開発 >PHPチュートリアル >phpコードはディレクトリ内のすべてのファイルをリストします

phpコードはディレクトリ内のすべてのファイルをリストします

WBOY
WBOYオリジナル
2016-07-25 09:08:051494ブラウズ
  1. /**
  2. ディレクトリ処理機能
  3. */
  4. function dir_path($path) {
  5. $path = str_replace('\', '/', $path);
  6. if (substr($ path, -1) != '/') $path = $path . '/';
  7. return $path;
  8. }
  9. /**
  10. * ディレクトリ内のすべてのファイルをリストします
  11. *
  12. * @param str $path directory
  13. * @param str $exts suffix
  14. * @param array $list path array
  15. * @return array リターンパス配列
  16. */
  17. function dir_list($path, $exts = '', $list = array()) {
  18. $path = dir_path($path);
  19. $files = glob($path . '*');
  20. foreach($files as $v) {
  21. if (!$exts || preg_match("/.($exts)/i", $v)) {
  22. $list[] = $v;
  23. if (is_dir($v)) {
  24. $list = dir_list($v, $exts, $ list);
  25. }
  26. }
  27. }
  28. return $list;
  29. }
  30. ?>
コードをコピー

使用法:

  1. $r = dir_list('dir');
  2. printf("

    出力データは次のとおりです:

    %s
    n " , var_export($r , true));
  3. ?>
コードをコピー

#------ PHP 関数 - ディレクトリ内のすべてのファイルを一覧表示するために使用されます

指定されたディレクトリ内のすべてのファイルを一覧表示する PHP で書かれた関数。 関数の後には、その使用方法のサンプル コードが続きます。 注: ページが UTF-8 の場合、中国語版 Windows システムでは、中国語のファイル名を読み込むと文字化けが発生します。

  1. /* Function listDirTree( $dirName = null )
  2. ** 関数はディレクトリ内のすべてのファイルとサブディレクトリをリストします
  3. ** パラメータ $dirName ディレクトリ名
  4. ** ディレクトリ構造配列 false を返します失敗しました
  5. */
  6. function listDirTree( $dirName = null )
  7. {
  8. if( empty( $dirName ) )
  9. exit( "IBFileSystem: ディレクトリが空です。" );
  10. if( is_dir( $dirName ) )
  11. {
  12. if ( $dh = opendir( $dirName ) )
  13. {
  14. $tree = array();
  15. while( ( $file = readdir( $dh ) ) !== false )
  16. {
  17. if( $file != ". " && $file != ".." )
  18. {
  19. $filePath = $dirName . "/" . $file;
  20. if( is_dir( $filePath ) ) // ディレクトリの場合、再帰的に
  21. {
  22. $tree[$file ] = listDirTree( $filePath );
  23. }
  24. else //ファイルの場合、現在の配列に追加します
  25. {
  26. $tree[] = $file;
  27. }
  28. }
  29. }
  30. closedir( $dh );
  31. }
  32. else
  33. {
  34. exit( "IBFileSystem: ディレクトリ $dirName を開けません。");
  35. }
  36. //現在の $tree を返します
  37. return $tree;
  38. }
  39. else
  40. {
  41. exit( "IBFileSystem: $dirName はディレクトリではありません.");
  42. }
  43. }
  44. $files = listDirTree(".");
  45. //print_r($files);
  46. $size = count(files);
  47. //次のコードは、このディレクトリ List にファイルを作成します(リンクアドレス付き)
  48. echo '
      ';
    1. for( $i=0; $files[$i] != NULL; $i++ ) {
    2. echo '
    3. '.$files[$i].'
    4. ';
    5. }
    6. echo '< /ol> ;';
    7. ?>
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。