从ftp服务器上下载文件

<?php
/**
* 函数名 php_ftp_download
* 功能   从ftp服务器上下载文件
* 入口参数
* filename 欲下载的文件名,含路径
*/
function php_ftp_download($filename) {
  $phpftp_host = "ftplocalhost";    // 服务器地址
  $phpftp_port = 21;            // 服务器端口
  $phpftp_user = "name";        // 用户名
  $phpftp_passwd = "passwrd";        // 口令
  $ftp_path = dirname($filename) . "/";    // 获取路径
  $select_file = basename($filename);    // 获取文件名

  $ftp = ftp_connect($phpftp_host,$phpftp_port);    // 连接ftp服务器
  if($ftp) {
    if(ftp_login($ftp, $phpftp_user, $phpftp_passwd)) {    // 登录
      if(@ftp_chdir($ftp,$ftp_path)) {            // 进入指定路径
        $tmpfile = tempnam( getcwd()."/", "temp" );    // 创建唯一的临时文件
        if(ftp_get($ftp, $tmpfile, $select_file, ftp_binary)) {    // 下载指定的文件到临时文件
          ftp_quit( $ftp );    // 关闭连接
          header("content-type: application/octet-stream");
          header("content-disposition: attachment; filename=" . $select_file)//content-disposition:inline; 表示可以在线打开文件!
          readfile($tmpfile);
          unlink($tmpfile );    // 删除临时文件
          exit;
        }
        unlink($tmpfile );
      }
    }
  }
  ftp_quit($ftp);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值