【php】 ftp_rmdirしたいディレクトリ内にあるファイルを再帰的に削除する方法
php の ftp_rmdir はディレクトリが空っぽでないと、ディレクトリを削除できない。
再帰的にディレクトリ内のファイルを削除して、ディレクトリを削除する書き方はこんな感じ。
function ftp_rmdir_all($con, $dir)
{
if (ftp_chdir($con,$dir)) {
$file_list = ftp_rawlist($con, $dir);
if ($file_list != false) {
foreach($file_list as $file) {
$type = substr($file, 0, 1);
$_arr = explode(' ', $file);
$tmp_dir = $_arr[count($_arr) - 1];
if($type == 'd') {
if($tmp_dir != '.' && $tmp_dir != '..'){
//再帰呼び出し
ftp_rmdir_all($con, $dir . '/' . $tmp_dir);
}
}else{
ftp_delete($con, $dir . '/' . $tmp_dir);
}
}
}
}
//空にしてからフォルダを削除する
ftp_rmdir($con, $dir);
}