【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); }
コメント