1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/** -------------------------------------------------------------------------------
 *   ファイルシステム:ディレクトリ/ファイルのオパターン指定して読一覧作成の利用例
 *  2015.09.14 作成 yoshi of CXMedia Inc.
 * -------------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------------------
 * == globによるファイル/ディレクトリを抽出 ==
 *  パターンにマッチするパス名を探す
 *   glob ( pattern [,flags] )
 *   返り値は、成功:マッチするファイル/ディレクトリを含む配列、失敗:false
 *   -- pattern:パターン
 *   -- flags:有効なフラグ
    GLOB_MARK    : 各ディレクトリにスラッシュを追加します
    GLOB_NOSORT  : ディレクトリに存在するファイルを返す (ソートはされません)。
                    このフラグを使わない場合は、パス名をアルファベット順にソートします。
    GLOB_NOCHECK : 検索パターンにマッチするファイルが見つからない場合、検索パターン自身を返す
    GLOB_NOESCAPE: バックスラッシュによるメタ文字のクォートを行いません
    GLOB_BRACE   : {a,b,c} を展開し「a」、「b」あるいは「c」のいずれかにマッチさせます
    GLOB_ONLYDIR : パターンにマッチするディレクトリのみを返します
    GLOB_ERR     : ディレクトリが読めないなどの読み込みエラー時に停止。
                     (デフォルトはエラーを無視)
 * ----------------------------------------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");

// ディレクトリのパス指定
$dir_path './temp';
// ディレクトリの存在チェック
if( !is_dir($dir_path)){
    echo 
"ERROR:{$dir_path}のディレクトリが存在していません。\n";
    exit;
}

// globによるファイル/ディレクトリを抽出して、表示
// globのファイル/ディレクトリの場合パターンとして、ワイルドカード指定の「*」の指定
echo "■ファイル・ディレクトリの一覧\n";
$pattern "$dir_path/"."*";
foreach( 
glob($pattern) as $filepath ){
    echo 
$filepath,"\n";
}

// globのファイルの場合パターンとして、ワイルドカード指定のファイル名「*」と拡張子「*」の指定
echo "■ファイル名のみの一覧\n";
$pattern "$dir_path/"."*.*";
foreach( 
glob($pattern) as $filepath ){
    
// パスを除いたファイル名のみの抽出
    
$filename basename($filepath);
    echo 
$filename,"\n";
}
?>