Переход в родительский каталог 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Переход в родительский каталог



Изменение текущего рабочего каталога на родительский производится с помощью функции ftp_cdup:

Синтаксис:

bool ftp_cdup (int ftp_connect );

Пример:

<? $host = "ftp.server.ru"; $port = 21; $user = "anonymous"; $password = "password"; $connect = ftp_connect ( $host, $port, 150 ); if(!$connect ) { exit();   } $result = ftp_login ( $connect, $user, $password ); if( $result ) { // сохраняем имя текущего рабочего каталога $current_dir = ftp_pwd ( $connect ); // переходим в родительский каталог     ftp_cdup ( $connect ); // сохраняем имя нового каталога $new_dir = ftp_pwd ( $connect ); } else { ftp_quit ( $connect ); exit(); } // Закрываем соединение ftp_quit ( $connect );?>

Изменение текущего рабочего каталога

Изменение текущего рабочего каталога на указанный осуществляется при помощи функции ftp_chdir:

<? $new_dir = "web"; ftp_chdir ( $connect, $new_dir );?>

Как видно из этого листинга, функция ftp_chdir имеет два параметра: дескриптор соединения $connect и имя нового каталога $new_dir.

Удаление файлов

Удалить файл с FTP-сервера можно с помощью функции ftp_delete:

Синтаксис:

bool ftp_delete (int ftp_connect, string remote_file );

Здесь ftp_connect - дескриптор соединения, а remote_file - имя удаляемого файла.

Создание каталога

Новый каталог можно создать, используя функцию ftp_mkdir:

Синтаксис:

string ftp_mkdir (int ftp_connect, string directory );

Эта функция возвращает имя созданного каталога или false в случае неудачи:

<? $dir = "web"; $created_dir = ftp_mkdir ( $connect, $dir );?>

Перечисление файлов в каталоге

Узнать, какие файлы находятся в текущем каталоге, можно применив функцию ftp_nlist:

Синтаксис:

array ftp_nlist (int ftp_connect, string directory );

Пример:

<? $file_list = ftp_nlist ( $connect, "." ); if( is_array ( $file_list )) { foreach ( $file_list as $file ) { echo( "$file <br>" ); } }?>

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

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

Синтаксис:

bool ftp_rename (int ftp_connect, string from, string to );

Удаление каталогов

Для удаления каталогов применяется функция ftp_rmdir:

Синтаксис:

bool ftp_rmdir (int ftp_connect, string directory );

Определение размера файлов

Для определения размера файлов существует функция ftp_size:

Синтаксис:

int ftp_size (int ftp_connect, string filepath );

В случае неудачи функция возвращает -1. К примеру:

<? $file = "/web/user/file.txt"; $file_size = ftp_size ( $connect, $file );  if ( $file_size == -1 ) { echo( "Размер файла не определен" ); } else { echo( "Файл $file имеет размер $file_size байт" ); }?>

Посылка команды на сервер

Послать на сервер команду можно с помощью функции ftp_site:

Синтаксис:

bool ftp_site (int ftp_connect, string command );

Эта функция посылает на сервер команду SITE. Как правило, с помощью команд SITE выполняются такие команды операционной системы, как chmod. Список команд SITE, поддерживаемый сервером можно узнать, подключившись к нему и выполнив команду REMOTEHELP. Ниже приведен код, позволяющий изменить права доступа к файлу на удаленном сервере:

<? $command = "chmod 0766 /web/user/file.txt"; ftp_site ( $connect, $command );?>

Работа через брандмауэр

При работе с FTP-сервером через брандмауэр часто бывает необходимо изменить активный режим, при котором соединение инициируется сервером, на пассивный, при котором соединение инициируется клиентом. Это можно сделать, применив функцию ftp_pasv:

<? $pasv_flag = true; $pasv_result = $pasv_flag? "enabled": "disabled"; ftp_pasv ( $connect, $pasv_flag );?>

Проверке корректности данных, вводимых пользователем необходимо уделять достаточно большое внимание, поскольку необработанные ошибки, возникающие при вводе неправильном вводе данных, приводят к ошибкам в работе скрипта, зачастую катастрофическим. Предположим, вы создаете форму для отправки пользователем письма, при этом адрес электронной почты необходимо вводить пользователю. В этом случае, для корректной работы программы вы должны сделать, по крайней мере, две вещи:

· Проверить, что поле, в которое заносится электронный адрес непустое (поскольку пользователь может просто забыть ввести адрес, и, если этот случай необработан, возникнет ошибочная ситуация);

· Проверить соответствие введенного адреса с помощью регулярного выражения.

Кроме чистых ошибок пользователя, необходимо также исключить ситуации, в которых возможно злонамеренное введение некорректных данных, к примеру, различных скриптов. Для этого вводимый пользователем текст необходимо обработать функциями удаления HTML-тегов (для исключения возможности написания скриптов на JavaScript и Visual Basic) и обратных слешей (для исключения возможности написания скриптов на Perl). Т. о. минимальный набор действий, необходимый для проверки корректности данных, вводимых пользователем, включает следующие этапы:

1. проверка того, что пользователь ввел данные

2. проверка допустимости вводимых пользователем данных (как правило, осуществляется при помощи регулярных выражений)

3. обработка текста, введенного пользователем функцией htmlspecialchars для удаления HTML-тегов

4. обработка текста, введенного пользователем функцией stripslashes для удаления обратных слешей

Проверка на пустоту поля

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

<? $name = $_POST['name']; if (!isset ( $name )) { // если переменная $name не существует просим повторить ввод имени?> <h1> Вы забыли ввести ваше имя </h1> <!-- далее следует HTML-код формы, в которой вводится имя --><? } else { - }?>

Для этой же цели можно использовать функцию empty:

<? $name = $_POST['name']; if ( empty ( $name )) { // если поле пустое, снова просим ввести имя?> <h1> Вы забыли ввести ваше имя <h1> <!-- далее следует HTML-код формы, в которой вводится имя --><? } else { - }?>

На практике удобно сначала проверить, не пустой ли action формы, а потом уже проверять различные его составляющие: поле имя, e-mail и т. д. К примеру:



Поделиться:


Последнее изменение этой страницы: 2020-11-28; просмотров: 96; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.205.223 (0.007 с.)