ftp_login ожидает, что параметр 1 будет ресурсом

Я пытаюсь загрузить некоторые файлы с FTP, и я имею следующую ошибку:

Предупреждение: ftp_login () ожидает, что параметр 1 будет ресурсом, boolean задан в /home/content/98/10339998/html/upload.php в строке 65. У FTP-соединения возникла ошибка! Попытка подключиться к thelegendmaker.net ….

вызванный:

// set up a connection to ftp server $conn_id = ftp_connect("thelegendmaker.net"); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

Кто-нибудь знает, почему это происходит? Я пробовал использовать кавычки, двойные кавычки и одинарные кавычки, и никто не работает.

Проблема заключается в том, что, когда ftp_connect() не может подключиться к FTP-серверу, он возвращает FALSE вместо идентификатора ссылки ресурса, который он обычно возвращает. Проверьте, жив ли ваш FTP-сервер, используя ping

вы можете сделать

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

ftp_connect вернет false, если это не удастся. Это приведет к появлению сообщения об ошибке, которое вы испытываете, вместо того, чтобы регистрировать вас.

Я бы рекомендовал использовать условие, чтобы не пытаться войти в систему, когда ваше соединение выходит из строя.

Несколько вариантов, которые у вас есть:

 // 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); 

или

 // 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); 

Поскольку я получаю ответ от вашего сервера на пинг. Я предполагаю, что вы неправильно настроили свой FTP-сервер.

Согласно руководству;

Возвращает поток FTP при успешном выполнении или FALSE при ошибке.

Таким образом, вы можете применить простой фильтр;

 $conn_id = ftp_connect("thelegendmaker.net"); if (false === $conn_id) { throw new Exception("FTP connection error!"); } ...