2013-08-02 139 views
0

我必须通过ftp连接到一台服务器并下载一个zip文件。通过ftp与PHP连接

这是我曾尝试没有任何的运气:

$url = $server_file = '/expiring_service_auctions.csv.zip'; 
$target = $local_file = 'godaddy.zip'; 
$out = 'godaddy.csv'; 


$ftp_server = 'ftp.godaddy.com'; //'208.109.78.100' 
$ftp_user_name = 'auctions'; 
$ftp_user_pass = ''; //no pass 


// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// get contents of the current directory 
$contents = ftp_nlist($conn_id, "."); 

// output $contents 
var_dump($contents); 

try to download $server_file and save to $local_file 
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { 
    echo "Successfully written to $local_file\n"; 
} else { 
    echo "There was a problem\n"; 
} 

// close the connection 
ftp_close($conn_id); 

怎么办?该怎么办?

+0

您是否收到任何错误消息? –

+1

不知何故,我怀疑godaddy是否会让这个文件在他们的文件系统的根。你确定你已经有了正确的源文件路径吗?这可能不仅仅是'/ expiring.csv.zip',而更像'/ home/username/expiring.csv.zip'。 –

+0

@MarcB直接登录到他们的FTP,它在根目录中。可能是因为“拍卖”用户名。 – aynber

回答

2

当我登录到FTP服务器时,它建议使用PASV。在您的登录行后添加以下内容:

ftp_pasv($conn_id, true); 
+0

它就像一个魅力,非常感谢你的建议。 –