How to delete specific directory with all sub directories and files using FTP
<?php
////////////////////////////////////////////////////////
// del directory with all sub folders and files
// By:
// Ahmed Samir
// asamir@asamir.net
// www.asamir.net
//
////////////////////////////////////////////////////////
function ftp_delAll($conn_id,$dst_dir){
$ar_files = ftp_nlist($conn_id, $dst_dir);
//var_dump($ar_files);
if (is_array($ar_files)){ // makes sure there are files
for ($i=0;$i<sizeof($ar_files);$i++){ // for each file
$st_file = basename($ar_files[$i]);
if($st_file == '.' || $st_file == '..') continue;
if (ftp_size($conn_id, $dst_dir.'/'.$st_file) == -1){ // check if it is a directory
ftp_delAll($conn_id, $dst_dir.'/'.$st_file); // if so, use recursion
} else {
ftp_delete($conn_id, $dst_dir.'/'.$st_file); // if not, delete the file
echo "delete <b><u>".$dst_dir."/".$st_file ." </u></b><br>";
}
}
sleep(1);
ob_flush() ;
}
$flag = ftp_rmdir($conn_id, $dst_dir); // delete empty directories
return $flag;
} // end of function ftp_delAll()
// connect to FTP server
$ftp_user_name = 'FTP_User_name';
$ftp_user_pass = 'FTP_Password';
$ftp_server = 'FTP_Server';
$dst_dir = 'directory_path'; // this is relative path of directory you want to delete
$conn_id = @ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// login into FTP server
if (@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)) {
echo "Connected as $ftp_user_name@$ftp_server\n";
// call function ftp_delAll()
if(@ftp_delAll($conn_id,$dst_dir)){
echo "<br><br><font size=3><b>delete ok </b></font> ";
}
}else{
echo "Couldn't connect as $ftp_user\n";
}
?>