2010-06-06 91 views
3

我想写一个小型的php函数,将文件上传到FTP服务器,我不断收到相同的错误,但我找不到任何修复方法,我希望你们能帮助我这里...php ftp上传问题

我得到的错误是:警告:ftp_put()[function.ftp-put]:无法建立数据连接:没有路由到主机。

该文件是在FTP服务器上创建的,但它是零字节。

下面是代码:

<?php 
$file = "test.dat"; 

$ftp_server="ftp.server.com"; 
$ftp_user = "myname"; 
$ftp_pass = "mypass"; 
$destination_file = "test.dat"; 


$cid=ftp_connect($ftp_server); 
if(!$cid) { 
    exit("Could not connect to server: $ftp_server\n"); 
} 

$login_result = ftp_login($cid, $ftp_user, $ftp_pass); 
if (!$login_result) { 
    echo "FTP connection has failed!"; 
    echo "Attempted to connect to $ftp_server for user $ftp_user"; 
    exit; 
} else { 
echo "Connected to $ftp_server, for user $ftp_user"; 
} 

$upload = ftp_put($cid, $destination_file, $file, FTP_BINARY); 
if (!$upload) { 
    echo "Failed upload for $source_file to $ftp_server as $destination_file<br>"; 
    echo "FTP upload has failed!"; 
} else { 
    echo "Uploaded $source_file to $ftp_server as $destination_file"; 
} 

ftp_close($cid); 
?> 

回答

7

我忘记把FTP在被动模式下使用:

ftp_pasv($cid, true);