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";
}
?>