Руководство по PHP
Пред. |  | След.

# XLVI. Функции для работы с 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);
?>`

Пред. | Начало | След.
fbsql_warnings | Уровень выше | ftp_alloc