boolean ftp_fget(resource ftp, resource file, string filename, integer mode, integer position)
Функция ftp_fget (листинг 10.15) копирует удаленный файл в открытый поток file. Для этого необходимо с помощью команды fopen или ей подобной создать ресурс file, для того чтобы оперировать им в качестве второго аргумента. Аргумент mode может иметь два значения - FTP_TEXT и FTP_BINARY (иногда их еще называют режимами text и binary). Необязательный аргумент position устанавливает место в файле, с которого необходимо начинать чтение, что позволяет возобновить прерванные сеансы чтения.
| Листинг 10.15. Функция ftp fget_
<?php
// подключение к серверу
if(!($ftp = ftp_connect("www.leonatkinson.com")))
print("Подключение невозможно!<br>n"); exit();
// регистрация
if(!ftp_login($ftp, "anonymous", "corephp@"))
print("Регистрация невозможна!<br>n"); exit();
//открыть локальный файл для записи
if(!$fp = fopen("/tmp/corephp3_examples.tar.gz", "w"))
print("Нельзя открыть файл!<br>n"); exit();
//сохранить удаленный файл в открытом потоке file if(!ftp_fget($ftp, $fp, "/pub/leon/corephp3_examples.tar.gz",
FTP_BINARY))
print("Невозможно получить удаленный файл!<br>n");
}
print("Файл загружен!<br>n");
// закрыть локальный файл
fclose($fp);
// закрыть соединение
ftp_close($ftp);
?>
boolean ftp_fput(resource ftp, string remote, integer file, integer mode, integer position)
Функция ftp_fput (листинг 10.16) создает файл на удаленном сервере из содержимого открытого потока file. Аргумент ftp содержит значение, возвращаемое функцией ftp_connect. Аргумент remote является путем к создаваемому файлу на удаленном сервере. Аргумент file является идентификатором файла, возвращенного функцией fopen или ей подобной. Аргумент mode может иметь два значения - FTP_TEXT и FTP_BINARY (иногда их еще называют режимами text и binary). Необязательный аргумент position устанавливает место в файле, с которого необходимо начинать запись, что позволяет возобновить прерванные сеансы записи.
Листинг 10.16. Функция ftpfput
<?php
// подключение к серверу
if(!($ftp = ftp_connect("localhost")))
print("Подключение невозможно!<br>n"); exit();
// регистрация
if(!ftp_login($ftp, "anonymous", "corephp@"))
print("Регистрация невозможна!<br>n"); exit();
// открыть локальный файл
if(!($fp = fopen("data.txt", "r")))
print("Невозможно открыть локальный файл!<br>n"); exit();
// записать файл на удаленный сервер
if(!ftp_fput($ftp, "/pub/data.txt", $fp, FTP_TEXT))
print("Невозможно загрузить удаленный файл!<br>n"); exit();
print("Файл загружен!<br>n");
// Закрыть локальный файл
fclose($fp);
// Закрыть соединение
ftp_close($ftp);
?>
boolean ftp_get(resource ftp, string local, string remote, integer mode, integer position)
Функция ftp_get (листинг 10.17) предназначена для копирования с удаленного сервера в локальную файловую систему. Аргумент link содержит значение, возвращаемое функцией ftp_connect. Аргументы local и remote задают соответствующие пути. Аргумент mode может иметь два значения - FTP_TEXT и FTP_BINARY, которые иногда называются режимами text и binary. Необязательный аргумент position устанавливает место в файле, с которого необходимо начинать чтение, что позволяет возобновить прерванные сеансы чтения.
| Листинг 10.17. Функция ftp get_
<?php
// подключение к серверу
if(!($ftp = ftp_connect("www.leonatkinson.com")))
{
print("Подключение невозможно!<br>n"); exit();
}
// регистрация
if(!ftp_login($ftp, "anonymous", "corephp@"))
{
print("Регистрация невозможна!<br>n"); exit();
}
// сохранить файл в каталоге tmp ftp_get($ftp,
"/tmp/data.bin",
"/pub/leon/corephp3_examples.tar.gz",
FTP_BINARY);
print("Файл загружен!<br>n"); // закрыть соединение ftp_close($ftp);
?>
value ftp_get_option(resource ftp, integer option)
Функция ftp_get_option предназначена для получения одного из двух вариантов FTP-соединения. Необходимо предоставить ресурс, возвращаемый функцией ftp_connect. Допустимые параметры приведены в табл. 10.7.
boolean ftp_login(resource ftp, string username, string password)
После подключения к FTP-серверу для идентификации пользователя необходимо прибегнуть к услугам функции ftp_login. При этом необходимо указать все три аргумента, даже при анонимном типе подключения. Пример использования этой функции показан в примере использования функции ftp_connect.
integer ftp_mdtm(resource ftp, string path)
Функция ftp_mdtm (листинг 10.18) возвращает последнюю модификацию файла, имя которого указано в аргументе path.
Листинг 10.18. Функция ftpmdtm
<?php
// подключение к серверу
if(!($ftp = ftp_connect("www.leonatkinson.com")))
{
print("Подключение невозможно!<br>n"); exit();
}
// регистрация
if(!ftp_login($ftp, "anonymous", "corephp@"))
{
print("Регистрация невозможна!<br>n"); exit();
}
print(" Размер: " .
ftp_size($ftp, "/pub/leon/corephp3_examples.tar.gz") .
"<br>n");
print("Модифицирован: " .
date("Y-m-d",
ftp_mdtm($ftp, "/pub/leon/corephp3_examples.tar.gz")) .
"<BR>n");
// закрыть соединение ftp_close($ftp);
?>
string ftp_mkdir(resource ftp, string directory)
Функция ftp_mkdir (листинг 10.19) создает каталог на удаленном сервере. Если невозможно создать каталог, возвращается значение FALSE.
I Листинг 10.19. Функция ftp mkdir_
<?php
// подключение к серверу
if(!($ftp = ftp_connect("localhost")))
{
print("Невозможно подключиться!<br>n"); exit();
}
// регистрация
if(!ftp_login($ftp, "leon", "corephp@"))
{
print("Регистрация невозможна!<br>n"); exit();
}
// создать каталог
$result = ftp_mkdir($ftp, "corephp"); if($result)
{
print(" Создан каталог: $result<br>n");
}
else
{
print(" Невозможно создать каталог corephp!<br>n");
}
// удалить каталог corephp if(!ftp_rmdir($ftp, "corephp"))
{
print(" Невозможно удалить каталог corephp!<br>n");
}
// закрыть соединение ftp_close($ftp);
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операции ввода-вывода на сетевом уровне. Часть Девятая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Операции ввода-вывода на сетевом уровне. Часть Восьмая. | PHP. Операции ввода-вывода на сетевом уровне. Часть Деcятая. |