// 出力バッファをクリアする
ob_end_flush();
ob_start('mb_output_handler');
// 検索対象の基点となるディレクトリ
$base = "/path/to/parent/dir";
$dir = "target";
print( "**start " . date("Y-m-d H:i:s"). "<br>");
traceDir($base , $dir);
print( "**end " . date("Y-m-d H:i:s"). "<br>");
function traceDir( $base, $dir ) {
$path = "{$base}/{$dir}";
$dh = opendir( $path );
while (false !== ($filename = readdir($dh))) {
if( $filename == "." || $filename == ".." )
continue;
// ここでパーミッションを変えている。
// 別に其れ以外の処理でも可能。
// ディレクトリとファイルで処理を変えたいならもう少し後ろに
$ret = chmod($file, 0777);
if($ret) {
print( "Success");
}
else {
print( "Error");
}
print( "\t");
if( is_dir( $file ) ) {
// ディレクトリの場合
traceDir( $path , $filename );
print( "[D] {$file}<br>");
}
else {
// ファイルの場合
$ret = chmod($file, 0777);
print( "[F] {$file} <br>");
flush();
ob_end_flush();
ob_start();
}
}
}