FTP

При использовании модуля FTP им определяются две константы: FTP_ASCII и FTP_ BINARY. Функции используют дескриптор сеанса подключения, обозначенный как ftp_stream.

Простейший код, реализующий сеанс FTP, приведен в следующем листинге:

// открытие простого FTP сеанса
$conn_id = ftp_connect("$ftp_server");

// login with username and password
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// проверка связи
if ((!$conn_id) || (!$login_result)) {
   echo "Невозможно установить Ftp связь! ",
         "К серверу $ftp_server, пользователи $user";
   die;
   }
else {
   echo "Подключение к серверу $ftp_server успешно!";
   }

// загрузить файл
$upload = ftp_put($conn_id, "$destination_file",
                     "$source_file", FTP_BINARY);
// проверка загрузки
if (!$upload) {
   echo "Загрузка не удалась!";
   }
else {
   echo "Файл $source_file был загружен как $destination_file";
   }

// закрыть поток FTP
ftp_quit($conn_id);

ftp_connect. Подключение к FTP-серверу

int ftp_connect (string host [, int port])

Функция создает подключение к FTP-серверу. Аргумент host указывает имя сервера, к которому осуществляется доступ, а port - используемый для подключения порт. Если порт не указан или задано нулевое значение, то используется порт 21.

Функция возвращает дескриптор потока FTP или значение FALSE при ошибке.

ftp_pasv. Переключение пассивного режима

int ftp_pasv (int ftp_stream, int pasv)

Функция переключает режим подключения в пассивный, если аргумент pasv равен TRUE. Если аргумент pasv равен FALSE, то подключение переходит в активный режим. В пассивном режиме передача данных инициируется клиентом, а не сервером.

ftp_login. Вход на сервер FTP

int ftp_login (int ftp_stream, string username, string password)

Функция позволяет передать в подключение логин username и пароль password.

ftp_quit. Завершение сеанса FTP

int ftp_quit (int ftp_stream)

Функция завершает сеанс работы с сервером FTP.

ftp_pwd. Текущая директория

string ftp_pwd (int ftp_stream)

Функция возвращает текущую директорию FTP-сервера или значение FALSE при возникновении ошибки.

ftp_cdup. Переход в корневую директорию

int ftp_cdup (int ftp_stream)

Функция пытается сделать текущей директорией корневую директорию сервера. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_chdir. Переход в директорию

int ftp_chdir (int ftp_stream, string directory)

Функция пытается сделать текущей директорией именно ту, имя которой передано в параметре directory. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_mkdir. Создание директории

string ftp_mkdir (int ftp_stream, string directory)

Функция возвращает имя созданной директории directory или значение FALSE при возникновении ошибки.

ftp_rmdir. Удаление директории

int ftp_rmdir (int ftp_stream, string directory)

Функция удаляет указанную директорию. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_nlist. Получение списка файлов директории

array ftp_nlist (int ftp_stream, string directory)

Функция возвращает массив с именами файлов указанной директории или значение FALSE при возникновении ошибки.

ftp_rawlist. Детализированный листинг директории

array ftp_rawlist (int ftp_stream, string directory)

Функция выполняет команду LIST и возвращает ее результат в массиве, где каждый элемент соответствует строке текста "как есть". Идентификатор типа системы, возвращаемый ftp_systype(), может быть использован для определения того, как следует интерпретировать результаты.

ftp_systype. Получение системного идентификатора типа FTP- сервера

string ftp_systype (int ftp_stream)

Функция возвращает строковое значение или значение FALSE при возникновении ошибки.

ftp_get. Загрузка файла с FTP

int ftp_get (int ftp_stream, string local_file, string remote_file, int mode)

Функция загружает удаленный файл remote_file с сервера FTP и сохраняет его локально под именем local_file. Режим передачи mode должен быть указан либо как FTP_ASCII, либо как FTP_BINARY. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_fgetftp_fget. Загрузка и запись файла

int ftp_fget (int ftp_stream, int fp, string remote_file, int mode)

Функция загружает удаленный файл remote_file с сервера FTP и сохраняет его содержимое в открытом файле, имеющем дескриптор fp. Режим передачи mode должен быть указан либо как FTP_ASCII, либо как FTP_BINARY. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_put. Загрузка файла на сервер FTP

int ftp_put (int ftp_stream, string remote_file, string local_file, int mode)

Функция сохраняет файл local_file на FTP-сервере под именем remote_file. Режим передачи mode должен быть указан либо как FTP_ASCII, либо как FTP_BINARY. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE. Вызов функции выглядит достаточно просто:

$upload = ftp_put ($conn_id, "C:\\myfile.txt", "/myfile.txt", FTP_ASCII)

ftp_fput. Чтение и загрузка файла на сервер

int ftp_fput (int ftp_stream, string remote_file, int fp, int mode)

Функция читает открытый файл с дескриптором fp до его конца и загружает его на сервер FTP под именем remote_file. Режим передачи mode должен быть указан либо как FTP_ASCII, либо как FTP_BINARY. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_size. Определение размера файла

int ftp_size (int ftp_stream, string remote_file)

Функция возвращает размер файла в байтах или значение -1 при возникновении ошибки. Но не все серверы поддерживают эту возможность.

ftp_mdtm. Получение времени последней модификации файла

int ftp_mdtm (int ftp_stream, string remote_file)

Функция возвращает время последней модификации файла в формате "UNIX timestamp" или значение -1 при возникновении ошибки. Функция не работает с директориями.

ftp_rename. Переименование файла на сервере

int ftp_rename (int ftp_stream, string from, string to)

Функция переименовывает файл from в to. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_delete. Удаление файла на сервере

int ftp_delete (int ftp_stream, string path)

Функция удаляет на сервере файл с указанным именем. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.

ftp_site. Выполнение команды SITE на сервере

int ftp_site (int ftp_stream, string cmd)

Функция посылает серверу команду cmd. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE. Команды SITE не стандартизированы, поэтому они могут различаться. Обычно они используются для изменения прав доступа к файлам и групповой принадлежности.


.