Я пытаюсь загрузить некоторые файлы с 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!"); } ...