Основные возможности PHP при работе с FTP

ftp_connect()
ftp_get()
ftp_login()
ftp_quit()

Протокол FTP (File Transfer Protocol - протокол передачи файлов) - один из старейших протоколов Интернета, предназначенный для передачи файлов между двумя хостами.

Как правило, при работе с FTP выполняются следующие стандартные действия:
соединение с удаленным FTP-сервером
регистрация на FTP-сервере
загрузка файлов с сервера или на сервер
закрытие соединения

Соединение с FTP-сервером

Соединение с удаленным FTP-сервером выполняется с помощью функции ftp_connect:

Синтаксис:

ftp_connect (string host [, int port [, int timeout]])

В качестве обязательного параметра эта функция принимает имя хоста host, с которым необходимо установить соединение. Второй необязательный параметр port указывает на номер порта, через который осуществляется соединение. Если этот параметр не указан, то соединение осуществляется через порт 21, являющийся стандартным FTP-портом. Третий необязательный параметр определяет максимально время выполнения сценария (тайм-аут) и по умолчанию равен 90 секундам.

Соединение с удаленным FTP-сервером

<?
$host = "ftp://ftp.server.ru";
$connect = ftp_connect($host);
if(!$connect)
{
echo("Ошибка соединения");
exit;
}
else
{
echo("Соединение установлено");
}
?>

Регистрация на FTP-сервере

После того, как соединение установлено, необходимо зарегистрироваться на сервере с определенным именем и паролем. Сделать это можно при помощи функции ftp_login.

Регистрация на FTP-сервере

<?
$user = "maks";
$password = "password";
$result = ftp_login($connect, $user, $password);
?>

Как видно из листинга, функция ftp_login принимает три параметра: дескриптор FTP-соединения, возвращаемый функцией ftp_connect, имя пользователя и пароль.

Замечание: Регистрация на сервере не требуется, если FTP-сервер является анонимным.

Закрытие соединения

По окончании сеанса связи с FTP-сервером, нужно закрыть FTP-соединение с помощью функции ftp_quit, принимающей в качестве единственного параметра дескриптор FTP-соединения:

Синтаксис:

ftp_quit($connect);

Загрузка файлов с сервера

Загрузка файлов с сервера осуществляется при помощи функции ftp_get:

Синтаксис:

bool ftp_get(int ftp_connect, string local_file,
string remote_file, int mode);

Аргумент mode, задающий режим пересылки файлов, должен быть указан как константа FTP_BINARY или FTP_ASCII. Режим FTP_ASCII используется для пересылки файлов, состоящих только из ASCII-символов (т. е. текстовых файлов), а двоичный режим - для пересылки всех остальных файлов.

К примеру:

<?
$local_file = "/users/local.txt";
$remote_file = "remote.txt";
ftp_get($connect, $local_file, $remote_file, FTP_BINARY);
?>

<<< - Предыдущая | Cледующая ->>>