PHPでディレクトリを作成する場合、一行若しくは存在しないファイルを作成すればコードを書かなくても実現できますが、ディレクトリ削除はディレクトリ内にファイルが存在する場合、以下のようにファイルを一旦すべて削除してからディレクトリを削除する流れになります。
function remove_directory($dir) {
if ($handle = opendir("$dir")) {
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
if (is_dir("$dir/$item")) {
remove_directory("$dir/$item");
} else {
unlink("$dir/$item");
echo "removing $dir/$item";
}
}
}
closedir($handle);
rmdir($dir);
echo "removing $dir";
}
}
remove_directory("/path/to/dir");
余談ですが、たまに「system(“rm -Rf /path/to/dir“);でいいじゃん」なんて言う人がいますが、こんな環境ド依存コードでいいじゃんと言える神経がちょっとわかりません。
続きを読む…
タグ
CakePHP,
folder.php,
ディレクトリ操作
関連する投稿