Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
php учебник_весь.doc
Скачиваний:
8
Добавлен:
21.09.2019
Размер:
2.06 Mб
Скачать

Другие возможности при работе с ftp

ftp_cdup()  ftp_mkdir()  ftp_rmdir()  ftp_pasv() 

ftp_chdir()  ftp_nlist()  ftp_size() 

ftp_delete()  ftp_rename()  ftp_site() 

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

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

Синтаксис:

bool ftp_cdup(int ftp_connect);

Пример:

<?

$host = "ftp.server.ru";

$port = 21;

$user = "anonymous";

$passwrod = "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);

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]