從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);
}
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *