ホームページ >バックエンド開発 >PHPチュートリアル >PHP の単純なトラバーサルの名前変更
$path = './fzlhead/';
function get_filetree_scandir($path){
$result = array();
$temp = array();
if (!is_dir ($path)||!is_readable($path)) return null; // ディレクトリの有効性をチェックします
$allfiles = scandir($path) // ディレクトリ内のすべてのファイルとフォルダーを取得します
($allfiles as $) filename) { //ディレクトリ内のファイルとフォルダーを走査します
if (in_array($filename,array('.','..')) //無視します。..
$fullname = $ path.'/'.$filename; //完全なファイルパスを取得します
if (is_dir($fullname)) { //ディレクトリの場合は再帰を続行します
$result[$filename] = get_filetree_scandir($ fullname); //再帰が開始されます
}
else {
$temp[] = $filename //ファイルの場合は配列に格納します
$uniqid = uniqid('apoo_');
$ext = pathinfo( $filename, PATHINFO_EXTENSION);
rename($fullname,$path.'/'.$uniqid.'.'.$ext);
}
}
foreach ($temp as $tmp) { // 一時配列の内容を結果を保持する配列に保存します
$result[] = $tmp // これにより、フォルダーを前に、ファイルを後ろに並べることができます
; }
return $result;
}
print_r( get_filetree_scandir($path));
?>