XLIII. Функции для работы с FTP

Введение

Функции этого модуля обеспечивают доступ к серверам по протоколу FTP (File Transfer Protocol), определенному в http://www.faqs.org/rfcs/rfc959. Модуль позволяет выполнять множество довольно сложных операций. Если требуется лишь прочитать или записать файл на сервере FTP, можно воспользоваться ftp:// ссылками и функциями для работы с файловой системой, которые более просты в использовании.

Требования

Эти функции всегда доступны.

Установка

Для использования FTP функций, вы должны указать директиву --enable-ftp во время установки PHP 4 или --with-ftp при использовании PHP 3.

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

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Типы ресурсов

Этот модуль использует один тип ресурса - идентификатор соединения с FTP сервером, возвращаемый функцией ftp_connect() или ftp_ssl_connect().

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Дополнительная информация доступна в описании функции ftp_set_option().

Следующие константы появились в PHP 4.3.0.

FTP_AUTOSEEK (integer)

Дополнительная информация доступна в описании функции ftp_set_option().

FTP_AUTORESUME (integer)

Автоматически определять позицию в файле, с которой начинается докачка при использовании команд GET и PUT (имеет смысл только совместно с FTP_AUTOSEEK)

FTP_FAILED (integer)

Асинхронная операция завершилась неудачно

FTP_FINISHED (integer)

Асинхронная операция окончена

FTP_MOREDATA (integer)

Асинхронная операция еще не завершена

Примеры

Пример 1. Пример использования функций FTP

<?php
// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// проверка соединения
if ((!$conn_id) || (!$login_result)) {
        echo
"Не удалось установить соединение с FTP сервером!";
        echo
"Попытка подключения к серверу $ftp_server под именем $ftp_user_name!";
        exit;
    } else {
        echo
"Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
    }

// закачивание файла
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// проверка результата
if (!$upload) {
        echo
"Не удалось закачать файл!";
    } else {
        echo
"Файл $source_file закачен на $ftp_server под именем $destination_file";
    }

// закрытие соединения
ftp_close($conn_id);
?>

Содержание
ftp_alloc -- Резервирует место на диске для закачиваемого файла
ftp_cdup -- Переходит в родительскую директорию
ftp_chdir -- Изменяет текущую директорию на FTP сервере
ftp_chmod -- Устанавливает права доступа к файлу
ftp_close -- Закрывает соединение с FTP сервером
ftp_connect -- Устанавливает соединение с FTP сервером
ftp_delete -- Удаляет файл на FTP сервере
ftp_exec -- Выполняет программу на FTP сервере
ftp_fget -- Загружает файл с FTP сервера и сохраняет его в предварительно открытом файле
ftp_fput -- Загружает предварительно открытый файл на FTP сервер
ftp_get_option -- Получает текущие параметры FTP соединения
ftp_get -- Загружает файл с FTP сервера
ftp_login -- Выполняет вход на FTP сервер
ftp_mdtm -- Возвращает время последней модификации файла
ftp_mkdir -- Создаёт директорию
ftp_nb_continue -- Продолжает асинхронную операцию
ftp_nb_fget -- Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
ftp_nb_fput -- Загружает предварительно открытый файл на FTP сервер в асинхронном режиме
ftp_nb_get -- Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в локальный файл
ftp_nb_put --  Загружает файл на FTP сервер в асинхронном режиме
ftp_nlist -- Возвращает список файлов в заданной директории
ftp_pasv -- Включает или выключает пассивный режим
ftp_put -- Загружает файл на FTP сервер
ftp_pwd -- Возвращает имя текущей директории
ftp_quit -- Псевдоним функции ftp_close()
ftp_raw -- Отправляет произвольную команду FTP серверу
ftp_rawlist -- Возвращает список файлов в заданной директории
ftp_rename -- Переименовывает файл на FTP сервере
ftp_rmdir -- Удаляет директорию
ftp_set_option -- Устанавливает параметры соединения с FTP сервером
ftp_site -- Отправляет команду SITE серверу
ftp_size -- Возвращает размер файла
ftp_ssl_connect -- Устанавливает соединение с FTP сервером через SSL
ftp_systype -- Возвращает тип операционной системы FTP сервера