Php

使用 PHP 從 FTP 下載文件時出錯

  • November 29, 2016

我正在嘗試使用 PHP 從 FTP 下載文件。我已經在 2 台伺服器上測試了腳本,它工作正常。但它在我需要執行此腳本的伺服器中不起作用。任何幫助都是不言而喻的。

我收到這個錯誤。

警告:ftp_nb_fget(): Type set to I. in /home/sites/example.com/public_html/path-to-file/download-file.php 在第 18 行

<?php
   ini_set("display_errors", "1");
   error_reporting(E_ALL);

   $ftp_server = "server_address";
   $ftp_username = "username";
   $ftp_userpass = "password";

   $ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
   $login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);

   $src_file = 'source_file';  //File to write
   $dest_file = 'server_file'; //File to download

   $data_file = fopen($src_file, 'w');

   // Initate the download
   $ret = ftp_nb_fget($ftp_conn, $data_file, $dest_file, FTP_BINARY);

   while ($ret == FTP_MOREDATA) {

      // Do whatever you want
      echo ".";

      // Continue downloading...
      $ret = ftp_nb_continue($ftp_conn);
   }
   if ($ret != FTP_FINISHED) {
      echo "There was an error downloading the file...";
      exit(1);
   }
   ?>

我也嘗試過 ftp_get 而不是 ftp_nb_fget 但得到與上面相同的錯誤。

基本上可能發生的事情 - 你在防火牆後面,但試圖使用活動的 ftp 會話(你是)。

這可以解釋為什麼您的 ftp 會話建立正確,但嘗試獲取文件失敗。

看看這裡如何使用被動ftp

引用自:https://serverfault.com/questions/817471