ftp_get适用于localhost,但不适用于生产服务器

时间:2013-02-02 16:07:11

标签: php ftp

我正在使用ftp_get从另一台ftp服务器获取文件。

我的代码在我的本地WAMP服务器上运行良好,但当我将其应用到我的实际网络托管时,连接失败。

$conn = ftp_connect('ftp.server.com') or die('Could not connect');
ftp_login($conn,'myusername','mypassword');
$local_file = 'new/two.txt';
$remote_file = 'games/minecraft/craftbukkit/plugins/VisitCounter/config.yml';
$get = ftp_get($conn,$local_file,$remote_file,FTP_ASCII);

if ($get){

    echo 'Connection Successful';
} else{

    echo 'Connection failure';
}

exec($get);
ftp_close($conn);

我认为必须在我的网络服务器上禁用建立ftp连接所需的东西。

你们有人可以帮忙吗?

谢谢,

贾里德

1 个答案:

答案 0 :(得分:2)

您的服务器未处于被动模式,您只需使用php函数打开服务器的被动模式: -

$conn_id = ftp_connect($ftp_server);   

// login with username and password

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// turn passive mode on

$ps = ftp_pasv($conn_id, true);

希望它能奏效。