boolean rewind(resource file)
Функция rewind (листинг 9.37) перемещает внутренний указатель файла PHP назад на начало файла. Это равносильно работе функции fseek при переводе указателя на нулевую позицию.
| Листинг 9.37. Функция rewind_
<?php
/*
** распечатать файл, а затем повторно распечатать первую строку
*/
// открыть локальный файл $myFile = fopen("data.txt", "r"); while(!feof($myFile)) {
// прочесть строку из файла $myLine = fgetss($myFile, 255); print("$myLine <br>n");
}
rewind($myFile);
$myLine = fgetss($myFile, 255);
print("$myLine <br>n");
// закрыть файл
fclose($myFile);
?>
boolean rewinddir(integer handle)
Функция rewinddir переустанавливает внутренний указатель PHP в начало каталога. Она возвращает значение TRUE, если при этом не возникает ошибка, в противном случае она возвращает значение FALSE. Дескриптором является целое число, полученное функцией opendir.
boolean rmdir(string directory)
Функция rmdir (листинг 9.38) предназначена для удаления каталога. При этом каталог должен быть пустым. Для удаления файла используется функция unlink.
| Листинг 9.38. Функция rmdir_
<?php
if(rmdir("/tmp/leon"))
{
print("Каталог удален");
}
else
{
print(" Каталог не удален");
}
?>
array scandir(string path, boolean reverse_order)
Функция scandir возвращает массив с именами файлов, которые можно найти по указанному пути. По умолчанию все значения отсортированы в алфавитном порядке; если указать необязательный аргумент reverse_order, их можно получить в обратном порядке.
set_file_buffer(resource file, integer size)
В настоящий момент эта функция является псевдонимом функции stream_set_write_buffer.
string sha1_file(string filename)
Функция sha1_file возвращает хеш SHA-1 (Secure Hash Algorithm 1) для заданного файла. Эти 160-битовые хеш-ключи являются уникальными и представляют собой альтернативу хеш-ключам MD5.
array stat(string filename)
Функция stat выполняет соответствующую С-функцию и возвращает массив, который содержит 13 элементов, пронумерованных с нуля. Если аргумент filename указывает на символическую ссылку, массив будет отображать информацию, связанную с файлом, на который указывает эта ссылка. Для получения информации о самой ссылке воспользуйтесь функцией lstat. В табл. 9.6 приведены компоненты массива.
resource stream_context_create(array options)
Функция stream_context_create создает контекст потока, используемый для настройки и управления потоками. Данный контекст можно использовать для различных потоков, открытых с помощью функции fopen. Необязательный аргумент options устанавливает один или несколько параметров для контекста. Это должен быть массив массивов. Каждый ключ должен указывать на массив, содержащий пары "ключ-значение".
array stream_context_get_options(resource context)
Функция stream_context_get_options возвращает параметры заданного контекста или потока.
boolean stream_context_set_option(resource context, string wrapper, string option, string value)
Функция stream_context_set_options устанавливает один параметр заданного контекста или потока.
boolean stream_context_set_params(resource context, array options)
Функция stream_context_set_params устанавливает параметры заданного контекста или потока. В массиве options используются названия параметров для ключей.
boolean stream_filter_append(resource stream, string filter)
Функция stream_filter_append добавляет фильтр в конец списка фильтров потока.
boolean stream_filter_prepend(resource stream, string filter)
Функция stream_filter_prepend добавляет фильтр в начало списка фильтров потока.
array stream_get_filters()
Функция stream_get_filters возвращает список имеющихся фильтров, включая и зарегистрированный вами.
array stream_get_wrappers()
Функция stream_get_wrappers возвращает список имеющихся оболочек, включая и зарегистрированную вами.
array stream_get_meta_data(resource file)
Функция stream_get_meta_data (листинг 9.39; рис. 9.2) возвращает массив с описанием состояния открытого потока, созданного функцией fopen, fsockopen или pfsockopen. В табл. 9.7 приведены элементы возвращаемого массива.
Элемент eof может иметь значение TRUE даже в том случае, когда имеются еще непрочитанные байты. При этом можно использовать функцию feof.
Листинг 9.39. Функция stream_get_meta_data
<?php
//Подключиться к PHP-узлу
if(!($myFile = fopen("http://www.php.net/", "r")))
{
print("файл невозможно открыть"); exit;
}
// вывести метаданные
print_r(stream_get_meta_data($myFile));
// закрыть файл
fclose($myFile);
?>
boolean stream_register_filter(string name, string class)
Функция stream_register_filter (листинг 9.40) позволяет определить фильтр потока. Необходимо определить имя фильтра и имя класса, расширяющего php_user_filter. В табл. 9.8 приведены методы, которые можно включить в заданный класс. Если метод не применяется, PHP использует метод порождающего класса.
Фильтры, изменяющие данные по посимвольному принципу, просты в использовании, так как они, вероятнее всего, нуждаются в методах read и write. Фильтры, изменяющие длину входящих и исходящих данных, вероятнее всего, нуждаются в буфере.
Листинг 9.40. Функция stream_register_filter
<?php
// задать фильтр
class caseChanger extends php_user_filter
{
function read($maximum)
{
// получить данные из потока $data = parent::read($maximum); // поменять регистр на верхний $data = ucwords($data); // вернуть данные return($data);
}
3}
// зарегистрировать фильтр
stream_register_filter("corephp.cc", "caseChanger"); // открыть поток
$fp = fopen("/tmp/test.txt", "rb"); //подключить фильтр к потоку stream_filter_append($fp, "corephp.cc"); // прочитать содержимое
$data = ""; while(!feof($fp))
{
$data .= fgets($fp, 255);
}
// закрыть поток fclose($fp); //отобразить содержимое print($data);
?>
ТОП-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. Операционная система. Часть Триннадцатая. |