php实现从ftp服务器上下载文件树到本地电脑的程序
2009-02-10 00:00
1016 查看
/* 用ftp_nlist()函授时,返回的数组值会有两种类型:因服务器不同而异 a:单独的文件名 b:包含目录的文件名。 如果挪用,请注意更改此处。 */ <?php function download_file($dir,$fc,$_FILE_) { $fn=ftp_nlist($fc,".");//列出该目录的文件名(含子目录),存储在数组中 $size=sizeof($fn); $dir=($dir=="")?$dir:('/'.$dir); $_FILE_=$_FILE_.$dir; echo $_FILE_."<br/>"; for($i=0;$i<$size;$i++) { if(ereg('^[a-zA-Z0-9_]+',$fn[$i])) //提取是文件和目录,剔除.,..这两个目录 { if(ereg('^[a-zA-Z0-9_]+([a-zA-Z0-9-]*.*)(\.+)',$fn[$i])) //是文件时直接下载 { if(ftp_get($fc,$fn[$i],$fn[$i],FTP_BINARY)) { echo "<br/>下载".getcwd()."/".$fn[$i]."成功<br/>"; } else { echo "<br/>下载".getcwd()."/".$fn[$i]."失败<br/>"; } }//文件下载结束 else //"是目录,进入目录,再读取文件"; { if(!file_exists($fn[$i])) mkdir($fn[$i], 0700);//本地机器上该目录不存在就创建一个 if(ftp_chdir($fc,$fn[$i])) chdir($fn[$i]); echo "当前的目录是:".getcwd()."<br/>";// 更好的看清当前目录 download_file($fn[$i],$fc,$_FILE_);//递归进入该目录下载文件 } }//提取文件,目录结束 }//for循环结束 ftp_cdup($fc);//ftp服务器返回上层目录 chdir(dirname($_FILE_)); }//download――file()函数结束 $_FILE_="本地机绝对地址";//例如c:/download,不要这样c:/download/ $hostname="服务器名"; $loginname="用户名"; $password="用户密码"; $fc=ftp_connect($hostname,"21") or die("Couldn't connect to $hostname"); $fc_rw=ftp_login($fc,$loginname,$password); ftp_set_option($fc,FTP_TIMEOUT_SEC,100000);//设置超时时间 $dir="";chdir($_FILE_);//进入本地机绝对地址目录 download_file($dir,$fc,$_FILE_); ftp_quit($fc); //从服务器下载文件树的程序 ?>
希望能给大家带去帮助,谢谢
相关文章推荐
- php实现从ftp服务器上下载文件树到本地电脑的程序
- 从ftp服务器上下载文件树到本地电脑的php程序
- c#实现 ftp http共享方式下载文件 并对比本地文件和服务器文件的更新时间 判断性下载
- c#实现 ftp ;http;共享方式下载文件 并对比本地文件和服务器文件的更新时间 判断性下载
- c#实现 ftp ;http;共享方式下载文件 并对比本地文件和服务器文件的更新时间 判断性下载
- php下连接ftp实现文件的上传、下载、删除文件实例代码
- 定时下载FTP服务器上面的文件到本地
- PHP脚本实现服务器文件下载
- PHP实现远程下载文件到本地
- C#怎样从指定服务器上下载指定文件到本地电脑上
- asp.net实现服务器文件下载到本地的方法
- PHP实现远程下载文件到本地
- 嵌入式 在arm平台运行ftpd服务器实现文件下载以及上传以及ftp下载url小结
- 个人电脑配置FTP服务器,四张图搞定。项目需要,并自己写了个客户端实现下载和上传的功能!
- java 远程从FTP服务器下载文件到本地
- PHP实现远程下载文件到本地
- VC++/MFC怎么实现局域网里下载FTP服务器上的文件?
- C# 从FTP服务器下载文件到本地
- VC程序下载FTP服务器上的文件
- 以命令方式从FTP 服务器下载文件到本地指定目录