Подключиться к другому серверу через FTP с помощью php кода. Часть 1

Подключиться к другому серверу через FTP с помощью php кода. Часть 1

Если вы начинаете выходить на высокий уровень программирования, то рано или поздно столкнетесь с необходимостью подключения через ftp к другим серверам, с целью передачи файлов, создания папок или их удаления. Если честно, я даже не думал, что такое возможно стандартными методами PHP, но умные разработчики все предусмотрели.

Итак, обычно, мы используем программы типа FileZilla или WinSCP, чтобы подключаться к нашим сайтам и работать с ними напрямую. Для того, чтобы программно из php подключаться к серверу используется специальные ftp функции.

Для подключения понадобятся ftp_connect() и ftp_login()

Синтаксис: ftp_connect (string $host [, int $port = 21 [, int $timeout = 90 ]]) - устанавливает соединение с сервером. Обязателен только $host вашего сервера (у кого-то это ip, у кого-то запись типа: serverXX.hosting.reg.ru). $port - по умолчанию 21 и $timeout - время подключения к серверу, на все последующие операции.

PS Для подключение по ssl используйте ftp_ssl_connect() - входные данные такие же. Ну а для подключения по SFTP уже библиотеку ssh2_sftp() - и это уже совсем другая история.

Синтаксис: ftp_login(resource ftp_stream, string username, string password) - подключает нас к FTP серверу. ftp_stream идентификатор соединения, который мы получаем в ftp_connect(), последние два параметра - логин юзера и его пароль.

Соединимся по FTP к серверу через php:

<?php header('Content-Type: text/html; charset=utf-8');

$ftp_serv = "ftp.demo.ru";
$ftp_user = "nameuser";
$ftp_pass = "mypassword";

//Установить соединение или выйти
$conn_id = @ftp_connect($ftp_serv) or die("Не удалось установить соединение с $ftp_serv");

//Вход по FTP
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
ftp_pasv($conn_id, true); //включение пассивного режима
echo "Успешно соединились с $ftp_serv под пользователем $ftp_user<br>";
}
else {
echo "Не удалось cjtlbybnmcz под пользователем $ftp_user<br>";
}

//Закрываем соединение
ftp_close($conn_id);
?>

В этом коде мы сначала указываем данные входа, затем подключаемся к серверу и сохраняем в $conn_id идентификатор соединения (если оно прошло успешно). И в функции ftp_login() используем полученный идентификатор, а также вводим логин и пароль для соединения. Если оно пройдет успешно, то можем работать с сервером из php. Корневой папкой будет считаться та, до куда сделан FTP доступ.

Обязательно читайте в следующей части про операции создания файлов и папок напрямую из PHP.

| | Подключиться к другому серверу через FTP с помощью php кода. Часть 1 | Если вы начинаете выходить на высокий уровень программирования, то рано или поздно столкнетесь с необходимостью подключения через ftp к другим сервера | http://blogprogram.ru/wp-content/uploads/2017/10/802-131x131.jpg

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>