【通过PHP内置的FTP函数进行下载多级目录下的所有文件】function getfiles($server,$username,$password,$localpath="D:/ftppath",$serverpath="/"){
//连接ftp服务器
$conn_id = ftp_connect($server);
//登录FTP服务器
$login_result = ftp_login($conn_id, $username, $password);
//开启被动模式
ftp_pasv($conn_id,true);
//返回指定目录的文件列表
$content = ftp_nlist($conn_id, $serverpath);
//遍历文件列表进行ftp资源的下载
foreach ($content as $key => $value) {
//文件都存在后缀名
$result = strrpos($value,".");
if($result){
//以二进制的方式下载FTP资源文件
ftp_get($conn_id,$localpath."/".$value,$value,FTP_BINARY);
}else{
//拼凑本地路径
$local_path = $localpath."/".$value;
//不存在进行创建目录,存在进行递归
if(!is_dir($local_path)){
mkdir($local_path,0777,true);
}else{
getfiles($server,$username,$password,$localpath,$value);
}
}
}
}
getfiles($server,$username,$password,$localpath,"/");
推荐阅读
- 对GO切片的理解
- 小程序商城网站开发秒杀模块篇
- 盲盒购物网站系统开发建设 第三篇
- Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext
- 简单的线程池实现多线程对大文件的读取
- SSH 端口转发与 SOCKS 代理
- Ubuntu16.04/Scala2.11.8安装教程
- 学习PHP中的高精度计时器HRTime扩展
- 使用OpenResty+Lua实现灰度测试(金丝雀)
- 使用源码编译安装PHP扩展