PHP globで任意のディレクトリ下にあるファイルを一覧取得する
環境
PHP 8.1.2
Ubuntu 22.04.1 LTS
構文
glob(string $pattern, int $flags = 0): array|false
glob() 関数は libc の glob() 関数で使われるルールに基づいて pattern に
マッチする全てのパス名を検索します。 ルールは、一般のシェルで使われる
ルールと似ています。
pattern
パターン。チルダの展開やパラメータ置換は行いません。
使用例
dir以下のファイルを全て取得してくれる。ファイルがひとつもない場合は空の配列が
返ってくる
使用例1
foreach(glob('dir/*') as $file){ if(is_file($file)){ echo htmlspecialchars($file); } }
拡張子を指定してファイルを取得します。
foreach(glob('dir/{*.csvf,*.zip,*.pdf}',GLOB_BRACE) as $file){ if(is_file($file)){ echo htmlspecialchars($file); } }