2011-12-01 99 views
0

我使用PHP ftp函数从FTP服务器下载zip文件。我使用二进制和被动模式获取文件。 的问题是,当我的FTP操作完成前停止了FTP操作(即ftp_close()不叫),当它被再次启动它显示下列警告 -强制破坏PHP FTP连接

ftp_login() [http://php.net/function.ftp-login]: service unavailable 
    FTP connection has failed! 

和FTP操作是失败。我为FTP操作编写了以下代码。

$connId = ftp_connect($host); 
$loginResult = ftp_login($connId, $user, $password);  
if ((!$connId) || (!$loginResult)) { 
    echo "FTP connection has failed!"; 
    exit; 
} 
ftp_pasv($connId, true);  
if (!ftp_chdir($connId, $remoteDir)) 
    return false; 
if (!ftp_get($connId, $localDir.$localFile,$remoteFile,FTP_BINARY)) 
    return false; 
ftp_close($connId); 

如何强制销毁已经开始以二进制模式获取文件并且连接处于被动模式的ftp连接? 重新启动机器或删除会话cookie并没有帮助我。可能的解决方案是什么?

回答

0

重新启动机器始终关闭所有由该机器进行的连接。

ftp_login()[http://php.net/function.ftp-login]:服务不可
FTP连接失败!

它看起来像远程FTP服务器正在终止连接,然后再进入登录步骤。检查您的凭据是否正确,并检查以确保FTP服务器运行正常。