フォルダー内のすべてのファイルを走査するには、通常、opendir メソッドと readdir メソッドを使用して走査できます。
例: 指定されたディレクトリ内のすべての php ファイルを検索します (サブフォルダーは検索しないでください)、コードは次のとおりです:
1 2 3 4 5 6 7 8 9 | <?php $path = dirname( __FILE__ ); $result = traversing( $path );
print_r( $result ); function traversing( $path ){
$result = array (); if ( $handle = opendir( $path )){ while ( $file =readdir( $handle )){ if ( $file !='.' && $file !='..'){ if ( strtolower ( substr ( $file , -4))=='.php'){
array_push ( $result , $file );
}
}
}
} return $result ;
}?>
|
ログイン後にコピー
glob メソッドを使用してトラバースする場合、コードを簡略化できます
1 2 | <?php $path = dirname( __FILE__ ); $result = glob ( $path .'/*.php');
print_r( $result );?>
|
ログイン後にコピー
注 、glob は ## を返します#path search 結果のパス (例: path='/home/fdipzone')。上記の例では
1 2 3 4 5 | Array(
[0] => /home/fdipzone/a.php
[1] => /home/fdipzone/b.php
[2] => /home/fdipzone/c.php
)
|
ログイン後にコピー
が返されます。これは、opendir によって返される結果とは異なります。そしてreaddir。
現在のディレクトリを移動するだけの場合。これは次のように変更できます:
glob('*.php');
glob 構文の説明:
1 | array glob ( string $pattern [, int $flags = 0 ] )
|
ログイン後にコピー
glob () この関数は、一般的なシェルで使用されるルールと同様、libc glob() 関数で使用されるルールに従って、pattern に一致するすべてのファイル パスを検索します。略語展開やパラメータ置換は行われません。 Glob は、通常のパス マッチングを使用する場合に強力です。
flags 有効なフラグは次のとおりです。
GLOB_MARK - 返される各項目にスラッシュを追加します。
GLOB_NOSORT - ファイルを返します。ディレクトリ内の元の出現順序 (ソートされていません)
GLOB_NOCHECK - 一致するファイルがない場合の検索に使用されるパターンを返します
GLOB_NOESCAPE - バックスラッシュ メタ文字をエスケープしません
GLOB_BRACE - {a,b,c} を展開して 'a'、'b'、または 'c' に一致させます
GLOB_ONLYDIR - パターンに一致するディレクトリ エントリのみを返します
GLOB_ERR - エラー メッセージ (読み取り不能なディレクトリなど) を停止して読み取ります。デフォルトではすべてのエラーを無視します。
例: 指定されたディレクトリ内のすべての php ファイルを走査するには、glob メソッドを使用します。フォルダー (サブフォルダーを含む)
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $path = dirname( __FILE__ ); $result = array ();
traversing( $path , $result );
print_r( $result ); function traversing( $path , & $result ){
$curr = glob ( $path .'/*'); if ( $curr ){ foreach ( $curr as $f ){ if ( is_dir ( $f )){
array_push ( $result , $f );
traversing( $f , $result );
} elseif ( strtolower ( substr ( $f , -4))=='.php'){
array_push ( $result , $f );
}
}
}
}?>
|
ログイン後にコピー
この記事では、glob メソッドを使用してフォルダー内のすべてのファイルを検索する方法について説明します。その他の関連コンテンツにも注目してください。
関連する推奨事項:
PHP 浮動小数点数比較メソッドの説明
mysql を介してクエリ結果を csv メソッドにエクスポートする
php array_push と $arr[]=$value
のパフォーマンスの比較
以上がglob メソッドを使用してフォルダー内のすべてのファイルを走査する方法に関する関連メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。