-
- /**
- ディレクトリ処理機能
- */
- function dir_path($path) {
- $path = str_replace('\', '/', $path);
- if (substr($ path, -1) != '/') $path = $path . '/';
- return $path;
- }
- /**
- * ディレクトリ内のすべてのファイルをリストします
- *
- * @param str $path directory
- * @param str $exts suffix
- * @param array $list path array
- * @return array リターンパス配列
- */
- function dir_list($path, $exts = '', $list = array()) {
- $path = dir_path($path);
- $files = glob($path . '*');
- foreach($files as $v) {
- if (!$exts || preg_match("/.($exts)/i", $v)) {
- $list[] = $v;
- if (is_dir($v)) {
- $list = dir_list($v, $exts, $ list);
- }
- }
- }
- return $list;
- }
- ?>
コードをコピー
使用法:
-
- $r = dir_list('dir');
- printf("
出力データは次のとおりです: %s n " , var_export($r , true));
- ?>
コードをコピー
#------
PHP 関数 - ディレクトリ内のすべてのファイルを一覧表示するために使用されます
指定されたディレクトリ内のすべてのファイルを一覧表示する PHP で書かれた関数。
関数の後には、その使用方法のサンプル コードが続きます。
注: ページが UTF-8 の場合、中国語版 Windows システムでは、中国語のファイル名を読み込むと文字化けが発生します。
-
- /* Function listDirTree( $dirName = null )
- ** 関数はディレクトリ内のすべてのファイルとサブディレクトリをリストします
- ** パラメータ $dirName ディレクトリ名
- ** ディレクトリ構造配列 false を返します失敗しました
- */
- function listDirTree( $dirName = null )
- {
- if( empty( $dirName ) )
- exit( "IBFileSystem: ディレクトリが空です。" );
- if( is_dir( $dirName ) )
- {
- if ( $dh = opendir( $dirName ) )
- {
- $tree = array();
- while( ( $file = readdir( $dh ) ) !== false )
- {
- if( $file != ". " && $file != ".." )
- {
- $filePath = $dirName . "/" . $file;
- if( is_dir( $filePath ) ) // ディレクトリの場合、再帰的に
- {
- $tree[$file ] = listDirTree( $filePath );
- }
- else //ファイルの場合、現在の配列に追加します
- {
- $tree[] = $file;
- }
- }
- }
- closedir( $dh );
- }
- else
- {
- exit( "IBFileSystem: ディレクトリ $dirName を開けません。");
- }
- //現在の $tree を返します
- return $tree;
- }
- else
- {
- exit( "IBFileSystem: $dirName はディレクトリではありません.");
- }
- }
- $files = listDirTree(".");
- //print_r($files);
- $size = count(files);
- //次のコードは、このディレクトリ List にファイルを作成します(リンクアドレス付き)
- echo '
';
- for( $i=0; $files[$i] != NULL; $i++ ) {
- echo '
- '.$files[$i].'
';
- }
- echo '< /ol> ;';
- ?>
コードをコピー
|