Php
使用 PHP 從 FTP 下載文件時出錯
我正在嘗試使用 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