ТОП-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

9.2. Функции, работающие со сжатыми файлами
Функции, описанные в этом разделе, используют одну из двух библиотек сжатия: zlib или bzip2. Библиотека zlib используется и таким механизмом сжатия GNU, как gzip, созданным Жаном-Лу Гайлом (Jean-loup Gaill) и Марком Адлером (Mark Adler). Об этой библиотеке можно узнать подробнее на Web-странице библиотеки zlib по адресу <http://www.cdrom.com/pub/infozip/zlib/>. Библиотека bzip2 была разработана Джулиан Сеуорд (Julian Seward) и работает с утилитой командной строки bzip2. Подробнее о ней можно узнать на Web-странице bzip2 по адресу <http://sources.redhat.com/bzip2/>. 
Большинство функций для операций чтения/записи в файлы продублированы здесь и функционируют подобным образом. Одним из различий является недостаток поддержки спецификации файлов с использованием протокола HTTP или FTP.
Функции, предназначенные для упаковки и распаковки строк, работающие с этими двумя библиотеками, описываются в главе 12, "Кодирование и декодирование".
boolean bzclose(resource file)
Эта функция закрывает поток, открытый функцией bzopen.
integer bzerrno(resource file)
Эта функция возвращает номер последней ошибки для заданного потока, открытого функцией bzopen.
array bzerror(resource file)
Функция bzerror возвращает массив, состоящий из двух элементов, с описанием последней ошибки для заданного потока, открытого с помощью bzopen. Элемент errno содержит номер ошибки, а элемент errstr - ее описание.
string bzerrstr(resource file)
Эта функция возвращает описание последней ошибки для потока, открытого функцией bzopen.
boolean bzflush(resource file)
Функция bzflush сбрасывает содержимое буфера записи в поток, открытый с помощью функции bzopen.
resource bzopen(string filename, string mode)
Функция bzopen открывает поток на файл, сжатый с помощью функции bzip2. Аргумент mode полностью соответствует спецификации, используемой функцией fopen, приведенной в табл. 9.4. Потоку возвращается дескриптор ресурса, а в случае ошибки - значение FALSE.
string bzread(resource file, integer length)
Функция bzread осуществляет чтение из сжатого файла, открытого с помощью функции bzopen. Необязательный аргумент length устанавливает максимальную длину возвращаемой строки, которая по умолчанию равна 1024 символам.
integer bzwrite(resource file, string data, integer length)
Функция bzwrite (листинг 9.49) записывает строку в дескриптор файла, открытого с помощью функции bzopen. Необязательный аргумент length ограничивает длину записанной строки до сжатия до определенной длины.

| Листинг 9.49. Функция bzwrite_
<?php
$filename = '/tmp/test.bz2'; // открыть файл
if(!($bz = bzopen($filename, 'w'))) 
{
print('Нельзя открыть файл.'); exit();
}
// записать текст for($n=0; $n < 10; $n++)
{
bzwrite($bz, "Проверить строку $nn");
}
// закрыть файл bzclose($bz);
// открыть повторно в режиме чтения if(!($bz = bzopen($filename, 'r')))
{
print('Файл открыть невозможно.'); exit();
}
// распечатать все строки
while(!feof($bz))
{
print(nl2br(bzread($bz)));
}
// закрыть файл bzclose($bz);

boolean gzclose(resource file)
Функция gzclose закрывает файл, открытый с помощью функции gzopen. Значение TRUE возвращается в случае успешного закрытия файла. Значение FALSE возвращается, когда файл не может быть закрыт.

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



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