通过FTP方式上传文件夹(整个目录)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://blog.csdn.net/wenshuangzhu/article/details/44061125


可以利用下面的脚本将文件夹从本地服务器FTP上传到远程服务器:

#!/bin/bash 

#upload dir to remote ftp server
read -p "Input local dir: " updir     #local dir
read -p "Input remote dir: " todir    #remote dir
read -p "Input remote IP: " ip        #remote IP
read -p "Input ftp username: " user    #ftp username
read -p "Input password: " password    #password
sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
aaa=`find $updir -type f -printf 'put %p %P \n'` 
ftp -nv $ip <<EOF 
user $user $password
type binary 
prompt 
$sss 
cd $todir 
$aaa 
quit 
EOF



  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MFC FTP上传文件的步骤如下: 1. 打开文件夹,获取其中的所有文件和子文件夹。 2. 连接FTP服务器,并在服务器上创建一个与本地文件夹同名的文件夹。 3. 递归上传文件中的每个文件和子文件夹。 4. 对于每个文件,使用FTP命令将其上传到服务器上的文件夹中。 5. 对于每个子文件夹,使用FTP命令在服务器上创建一个与本地子文件夹同名的文件夹,并递归上传该子文件夹。 以下是一些示例代码,可以用作参考: ```c++ void CFtpClient::UploadFolder(CString strLocalFolder, CString strRemoteFolder) { CFileFind finder; CString strWildcard = strLocalFolder + _T("\\*.*"); BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); if (finder.IsDots()) continue; CString strFileName = finder.GetFileName(); CString strFilePath = finder.GetFilePath(); if (finder.IsDirectory()) { CString strNewRemoteFolder = strRemoteFolder + _T("/") + strFileName; CreateRemoteFolder(strNewRemoteFolder); // 在FTP服务器上创建子文件夹 UploadFolder(strFilePath, strNewRemoteFolder); // 递归上传文件夹 } else { CString strRemoteFilePath = strRemoteFolder + _T("/") + strFileName; UploadFile(strFilePath, strRemoteFilePath); // 上传文件FTP服务器上的文件夹 } } } void CFtpClient::CreateRemoteFolder(CString strRemoteFolder) { m_ftpConnection.CreateDirectory(strRemoteFolder); } void CFtpClient::UploadFile(CString strLocalFilePath, CString strRemoteFilePath) { m_ftpConnection.PutFile(strLocalFilePath, strRemoteFilePath); } ``` 其中,CFtpClient是一个MFC封装的FTP客户端类,包含了连接FTP服务器、上传文件等操作的实现。UploadFolder方法接受本地文件夹路径和服务器文件夹路径作为参数,用于递归上传整个文件夹。CreateRemoteFolder方法用于在FTP服务器上创建文件夹,UploadFile方法用于上传单个文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值