読者です 読者をやめる 読者になる 読者になる

glob — パターンにマッチするパス名を探す

あるディレクトリ内のファイルを確認したい時、まず思いついたのが
  • system()
$list = system("ls -la");

システムコマンドを使うのは何かと拙いだろうと。

次に、調べて発見したのが
<?php
$dir = "/etc/php5/";

// 既知のディレクトリをオープンし、その内容を読み込みます。
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

一般的には、これが使われてるのかな?使われているのを見た気もする。

opendir() を使えばいいかなと思っていたら

便利な関数があるらしい
参照:PHP: glob - Manual
参照:blog.paz-para.com » Blog Archive » PHPでカレントディレクトリのファイルを取得する
参照:PHPのglob()がすっごい便利だった件 | IDEA*IDEA

パターンにマッチするパス名を探す

glob() は正規表現を使えたりできるのが魅力らしい。
正規表現を使わなくても、カレントディレクトリ内のファイルを取得、表示したい場合

foreach (glob("*.txt") as $filename) {
  echo "$filename size " . filesize($filename) . "\n";
}

すっきり!