开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 495|回复: 7
收起左侧

[求助] 新人求助!怎么删除FTP下的非空目录,救救新人

[复制链接]
结帖率:80% (4/5)
发表于 2023-6-7 18:49:46 | 显示全部楼层 |阅读模式   山东省济宁市
比如目录路径是 ("/web/文件夹/子文件夹")  我用 FTP删除目录("/web/文件夹"),调试结果返回假!
我试了下这个命令只能删除空文件夹,文件夹下有子文件夹和文件的话就删不掉。
大佬们有没有什么办法直接删除FTP的某个文件夹能把这个文件夹下的所有子夹和文件全部删掉啊!

学习了好几天了,最近天天失眠熬夜各种看教程练代码的! 这个问题找了一天了也没在网上找到解决方法,要不然也不来麻烦各位大哥了!

我在咱们论坛搜索的时候搜到有个以前的帖子说 使用 FtpRemoveDirectoryA (, ) 这个命令试试的。 无奈不懂里边的参数是啥意识,翻了精易模块帮助文档也没写咋填!
有知道的大哥给列举一下子谢谢!!!!!!!!万分感谢,碰见困难一定要克服它,不能逃避!!

结帖率:80% (12/15)

签到天数: 18 天

发表于 2023-6-7 19:24:31 | 显示全部楼层   贵州省贵阳市
可以使用以下Python 3代码   如下
——————————————————下面是代码——————————————————————————————
import ftplib

ftp = ftplib.FTP('your.ftp.server')  # 替换成您的FTP服务器地址
ftp.login('your.username', 'your.password')  # 替换为您的FTP用户名和密码

folder_path = '/path/to/folder/to/delete'  # 替换为要删除的文件夹的路径

def delete_folder_contents(folder):
    contents = ftp.nlst(folder)
    for item in contents:
        if '.' in item:  # 如果是文件而不是文件夹,直接删除
            ftp.delete(item)
        else:
            delete_folder_contents(item)  # 如果是文件夹,递归删除其中的内容
            ftp.rmd(item)  # 删除空文件夹

delete_folder_contents(folder_path)
ftp.rmd(folder_path)  # 删除空根文件夹
————————————————————————————————————————————————————————————————
使用Python内置的ftplib库来连接到FTP服务器并删除指定路径下的文件夹、子文件夹和其中的所有文件
代码中的“your.ftp.server”、“your.username”、“your.password”和“/path/to/folder/to/delete”替换为实际的FTP服务器地址、用户名、密码和要删除的文件夹路径


————————————————————————下面是php代码和html代码———————————————————————————————————
<?php
// 获取前端输入的FTP地址、用户名、密码和要删除的文件夹路径
$ftp_server = $_POST['ftp_server'];
$ftp_username = $_POST['ftp_username'];
$ftp_password = $_POST['ftp_password'];
$delete_folder = $_POST['delete_folder'];

// 连接FTP服务器
$conn = ftp_connect($ftp_server);
if ($conn) {
  $login = ftp_login($conn, $ftp_username, $ftp_password);  // 登录FTP服务器
  if ($login) {
    // 删除指定文件夹及其内容
    function delete_folder_contents($conn, $folder) {
      $contents = ftp_nlist($conn, $folder);  // 获取文件夹内的文件和子文件夹
      foreach ($contents as $item) {
        if (strpos($item, '.') !== false) {  // 如果是文件
          ftp_delete($conn, $item);
        } else {  // 如果是文件夹
          delete_folder_contents($conn, $item);  // 递归删除文件夹和其中内容
          ftp_rmdir($conn, $item);  // 删除空文件夹
        }
      }
    }

    delete_folder_contents($conn, $delete_folder);  // 删除指定文件夹及其内容
    ftp_rmdir($conn, $delete_folder);  // 删除空根文件夹

    echo "Folder and it's contents deleted successfully from FTP Server!";
  } else {
    echo "FTP Login Failed!";
  }
  ftp_close($conn); // 关闭FTP连接
} else {
  echo "FTP Connection Failed!";
}
?>
———————————————————下面是html代码—————————————————————
<!DOCTYPE html>
<html>
<head>
  <title>FTP Folder Deletion</title>
</head>
<body>
  <div id="wrapper">
    <h1>FTP Folder Deletion</h1>
    <form method="post" action="delete_folder.php">
      <label for="ftp_server">FTP Server:</label>
      <input type="text" id="ftp_server" name="ftp_server"><br>

      <label for="ftp_username">FTP Username:</label>
      <input type="text" id="ftp_username" name="ftp_username"><br>

      <label for="ftp_password">FTP Password:</label>
      <input type="password" id="ftp_password" name="ftp_password"><br>

      <label for="delete_folder">Folder to Delete:</label>
      <input type="text" id="delete_folder" name="delete_folder"><br>

      <button type="submit">Delete Folder</button>
    </form>
  </div>
</body>
</html>
————————————————————————————————————————————————————————————
将上述HTML代码保存到delete_folder.html文件中,并将前面提供的PHP代码保存到名为delete_folder.php的文件中。确保两个文件在同一目录下,然后在浏览器中打开delete_folder.html文件即可使用。
回复 支持 反对

使用道具 举报

结帖率:59% (10/17)
发表于 2023-6-7 19:29:00 | 显示全部楼层   湖北省随州市
精易模块 类_ftp有很多相关函数 可以尝试下.如果依然解决不了 可以加我远程看看
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 13 天

 楼主| 发表于 2023-6-8 00:16:43 | 显示全部楼层   山东省济宁市
大哥们,给个例子啊,别太笼统!
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 13 天

 楼主| 发表于 2023-6-8 19:21:10 | 显示全部楼层   山东省济宁市
r3gp22 发表于 2023-6-7 19:29
精易模块 类_ftp有很多相关函数 可以尝试下.如果依然解决不了 可以加我远程看看 ...

精易的类_ftp模块内里删除目录命令也是无法删除非空目录的
回复 支持 反对

使用道具 举报

结帖率:92% (49/53)

签到天数: 23 天

发表于 2023-6-8 19:23:10 | 显示全部楼层   吉林省长春市
ftp协议好像就不支持这样删除吧
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 13 天

 楼主| 发表于 2023-6-8 19:23:29 | 显示全部楼层   山东省济宁市
澎湃物联 发表于 2023-6-7 19:24
可以使用以下Python 3代码   如下
——————————————————下面是代码——————————— ...

大哥,我这易语言才刚入门学习啊,这python更不会用啊,难道python的命令能在易语言里使用吗??
回复 支持 反对

使用道具 举报

结帖率:80% (12/15)

签到天数: 18 天

发表于 2023-6-8 20:28:00 | 显示全部楼层   贵州省贵阳市
feiaiyou 发表于 2023-6-8 19:23
大哥,我这易语言才刚入门学习啊,这python更不会用啊,难道python的命令能在易语言里使用吗?? ...

你求助也没说要易语言的例子啊?、
我给了你两个例子,一个是Python

还有一个是php+html的  哪怕你不会别的 html+php你抓包get不就行了?
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表