ftp_login expects parameter 1 to be a resource

非 Y 不嫁゛ 提交于 2019-11-29 10:55:00

The problem has it basis in the fact that, when ftp_connect() cannot connect to a FTP Server it returns FALSE instead of the resource link identifier it generally returns. Check whether your FTP server is alive using ping

you can do like

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

ftp_connect will return false if it does not succeed. What this will cause is the error message you are experiencing instead of logging you in.

I would recommend using a condition to avoid trying to login when your connection fails.

A couple of options you have:

// set up a connection to ftp server
$conn_id = ftp_connect("thelegendmaker.net") or die("Unable to connect to server.");

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

or

// set up a connection to ftp server
$conn_id = ftp_connect("thelegendmaker.net");

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

Since I am getting a response from your server to a ping. My guess is that you haven't properly configured your FTP server.

According manual note;

Returns a FTP stream on success or FALSE on error.

So, you can apply a simple filter like that;

$conn_id = ftp_connect("thelegendmaker.net");
if (false === $conn_id) {
    throw new Exception("FTP connection error!");
}
...
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!