ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Операционная система. Часть Двеннадцатая.


28-12-2009

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);
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Операционная система. Часть Одиннадцатая. PHP. Операционная система. Часть Триннадцатая.