|
|||||||||||||||||||
|
|
||||||||||||||||||
Протокол FTP (File Transfer Protocol - протокол передачи файлов) - один из старейших протоколов Интернета, предназначенный для передачи файлов между двумя хостами. Как правило, при работе с FTP выполняются следующие стандартные действия: соединение с удаленным FTP-сервером Синтаксис: ftp_connect (string host [, int port [, int timeout]]) В качестве обязательного параметра эта функция принимает имя хоста host, с которым необходимо установить соединение. Второй необязательный параметр port указывает на номер порта, через который осуществляется соединение. Если этот параметр не указан, то соединение осуществляется через порт 21, являющийся стандартным FTP-портом. Третий необязательный параметр определяет максимально время выполнения сценария (тайм-аут) и по умолчанию равен 90 секундам. Соединение с удаленным FTP-сервером <? Регистрация на FTP-сервере Регистрация на FTP-сервере <? Как видно из листинга, функция ftp_login принимает три параметра: дескриптор FTP-соединения, возвращаемый функцией ftp_connect, имя пользователя и пароль. Замечание: Регистрация на сервере не требуется, если FTP-сервер является анонимным. Закрытие соединения Синтаксис: ftp_quit($connect); Загрузка файлов с сервера Синтаксис: bool ftp_get(int ftp_connect, string local_file, Аргумент mode, задающий режим пересылки файлов, должен быть указан как константа FTP_BINARY или FTP_ASCII. Режим FTP_ASCII используется для пересылки файлов, состоящих только из ASCII-символов (т. е. текстовых файлов), а двоичный режим - для пересылки всех остальных файлов. К примеру: <? Переход в родительский каталог Синтаксис: bool ftp_cdup(int ftp_connect); Пример: <? Изменение текущего рабочего каталога <? Как видно из этого листинга, функция ftp_chdir имеет два параметра: дескриптор соединения $connect и имя нового каталога $new_dir. Удаление файлов Синтаксис: bool ftp_delete(int ftp_connect, string remote_file); Здесь ftp_connect - дескриптор соединения, а remote_file - имя удаляемого файла. Создание каталога Синтаксис: string ftp_mkdir(int ftp_connect, string directory); Эта функция возвращает имя созданного каталога или false в случае неудачи: <? Перечисление файлов в каталоге Синтаксис: array ftp_nlist(int ftp_connect, string directory); Пример: <? Переименование файлов Синтаксис: bool ftp_rename(int ftp_connect, string from, string to); Удаление каталогов Синтаксис: bool ftp_rmdir(int ftp_connect, string directory); Определение размера файлов Синтаксис: int ftp_size(int ftp_connect, string filepath); В случае неудачи функция возвращает -1. К примеру: <? Посылка команды на сервер Синтаксис: bool ftp_site(int ftp_connect, string command); Эта функция посылает на сервер команду SITE. Как правило, с помощью команд SITE выполняются такие команды операционной системы, как chmod. Список команд SITE, поддерживаемый сервером можно узнать, подключившись к нему и выполнив команду REMOTEHELP. Ниже приведен код, позволяющий изменить права доступа к файлу на удаленном сервере: <? Работа через брандмауэр <? |
|||||||||||||||||||
|