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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/** -------------------------------------------------------------------------------
* ファイルシステム:ディレクトリのオープン・クローズ、読み込み処理の利用例
* 2015.09.14 作成 yoshi of CXMedia Inc.
* -------------------------------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");
// ディレクトリのパス指定
$dir_path = './temp';
// ディレクトリの存在チェック
if( !is_dir($dir_path)){
echo "ERROR:{$dir_path}のディレクトリが存在していません。\n";
exit;
}
/* ---------------------------------------------------------------------------
* opendir( pathname [,context]]])
* contextは、ストリーム 、
* 返り値は、成功:ディレクトリハンドルの resource、失敗:false
* --------------------------------------------------------------------------- */
// ディレクトリのオープン
if( $dh = opendir( $dir_path) ){
echo "OK:{$dir_path}のディレクトリオープンに成功。\n";
} else {
echo "ERROR:{$dir_path}のディレクトリオープンに失敗。\n";
exit;
}
/* ---------------------------------------------------------------------------
* readdir( dir_handle)
* 返り値は、成功:エントリ名、失敗:false
* --------------------------------------------------------------------------- */
// ディレクトリの読み込みとディレクトリ内容を表示
while( ($data = readdir( $dh )) !== false ){
// '.'(自分自身)、'..'(前のディレクトリ)のものを除く
if($data == '.' || $data == '..'){continue;}
// パスセット
$file_path = $dir_path.'/'.$data;
// ファイルまたはディレクトリ存在チェック
if(file_exists($file_path)) {
// デファイルかディレクトリの判断
$kbn = is_file($file_path)? 'ファイル' : 'ディレクトリ';
// ファイル(ディレクトリ)の更新時刻を取得:filemtime()、ファイル容量:filesize()
echo "$kbn → $data [更新日時]: ",date ("Y-m-d H:i:s",filemtime($file_path)),
" [size] ",ceil(filesize($file_path)/1000),"KB\n";
} else {
echo "エラー: $file_path\n";
}
}
/* ---------------------------------------------------------------------------
* closedir( dir_handle)
* 返り値は、成功:true、失敗:false
* --------------------------------------------------------------------------- */
// ディレクトリのクローズ
closedir( $dh );
// globによるファイル抽出
foreach( glob($dir_path.'/'."*") as $filename ){
echo $filename,"\n";
}
?>