[PHP] ファイルがあるフォルダも問答無用で削除する方法
PHPを使用してフォルダを削除するにはrmdirを使用すればよいが、中にファイルがあるとrmdirでは削除できない
またフォルダの中にあるフォルダも削除できないため、指定フォルダにファイルやフォルダがあっても再帰的に削除するには以下の通りに実装する
$dir = "削除したいフォルダパス";
remove_directory($dir);
function remove_directory($dir) {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
// ファイルかディレクトリによって処理を分ける
if (is_dir("$dir/$file")) {
// ディレクトリなら再度同じ関数を呼び出す
remove_directory("$dir/$file");
} else {
// ファイルなら削除
unlink("$dir/$file");
}
}
// 指定したディレクトリを削除
return rmdir($dir);
}