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