FTPを使用してフォルダを削除する機能と、そのフォルダに含まれるすべてのサブフォルダとファイルを追加しようとしています。FTP接続のフォルダとすべてのファイルを削除する
私はこれを行うために再帰的な関数を構築していますが、ロジックが正しいと思っていますが、まだ動作しません。
私はいくつかのテストを行いました。パスが空のフォルダまたはファイルの場合は最初の実行で削除できますが、1つのファイルを含むフォルダまたは1つの空のサブフォルダを含むフォルダの場合は削除できません。だから、フォルダを移動して関数を使って削除することに問題があるようです。
アイデア?
あなたは(ftp_chdir
を使用して)確認する必要が
function ftpDelete($directory)
{
if(empty($directory))//Validate that a directory was sent, otherwise will delete ALL files/folders
return json_encode(false);
else{
global $conn_id;
# here we attempt to delete the file/directory
if(!(@ftp_rmdir($conn_id,$directory) || @ftp_delete($conn_id,$directory)))
{
# if the attempt to delete fails, get the file listing
$filelist = @ftp_nlist($conn_id, $directory);
# loop through the file list and recursively delete the FILE in the list
foreach($filelist as $file)
ftpDelete($file);
#if the file list is empty, delete the DIRECTORY we passed
ftpDelete($directory);
}
else
return json_encode(true);
}
};
は、ディレクトリをするかのいずれかが、あなたがしているサブディレクトリをですスペースを削除しようとしていますか? –
ファイルまたはフォルダのスペースがありません。アルファベットだけです。 – JimmyJammed
問題のディレクトリでファイルシステムのアクセス権を使用すると、ディレクトリを削除できますか? – sarnold