/**
* 中にファイルやディレクトリが入っているディレクトリごと削除する
* @param string $dir 削除するディレクトリ
* @param boolean $is_delete_myself 指定したディレクトリ自身を削除するか
* @return string 削除したファイルやリストの結果
*/
function remove_directory( $dir, $is_delete_myself=false )
{
$result_message = "";
if ( ! is_dir($dir) ){
return "ディレクトリ ({$dir}) は存在しません\n";
}
else{
$dir = preg_replace("{/$}","",$dir);
}
if ($handle = opendir("$dir")) {
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
if (is_dir("$dir/$item")) {
$r = remove_directory("$dir/$item", true);
$result_message .= $r;
} else {
unlink("$dir/$item");
$result_message .= " remove [fie] $dir/$item\n";
}
}
}
closedir($handle);
if ( $is_delete_myself == true ){
rmdir($dir);
$result_message .= " remove [directory] $dir\n";
}
}
return $result_message;
}
削除を実行する(指定したディレクトリ自身も削除する)
$r = remove_directory("./my_dir/", true);
echo $r;
結果例
remove [fie] ./my_dir/b00009vxzx_1.jpg
remove [fie] ./my_dir/b01lxs5b8x_1.jpg
remove [fie] ./my_dir/b01lxs5b8x_2.jpg
remove [fie] ./my_dir/b01lxs5b8x_3.jpg
remove [directory] ./my_dir
引用元 : https://goo.gl/Z7MFkC