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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
foreach(glob('dir/*') as $file){
if(is_file($file)){
echo htmlspecialchars($file);
}
}
foreach(glob('dir/*') as $file){ if(is_file($file)){ echo htmlspecialchars($file); } }
foreach(glob('dir/*') as $file){
    if(is_file($file)){
        echo htmlspecialchars($file);
    }
}

拡張子を指定してファイルを取得します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
foreach(glob('dir/{*.csvf,*.zip,*.pdf}',GLOB_BRACE) 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); } }
foreach(glob('dir/{*.csvf,*.zip,*.pdf}',GLOB_BRACE) as $file){
    if(is_file($file)){
        echo htmlspecialchars($file);
    }
}

 

IT

Posted by arkgame