Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Сжатые файлы Bzip2
Модуль bzip2 использует библиотеку, написанную Джулианом Севардом (Julian Seward), позволяющую проводить операции файлового ввода-вывода из архивов bzip2 (.bz2). Найти ее можно по адресу: sources.redhat.com/bzip2.
Чтобы использовать функции bzip2 в PHP, надо при компиляции указать дополнительную опцию --with-bz2[=DIR]. Для этого требуется библиотека bzip2/libbzip2 версии старше, чем 1.0. Этот модуль можно также подключить динамически. Модуль разработан недавно, поэтому он может работать нестабильно.
Пример
<?php $filename = "/tmp/testfile.bz2"; $str = "This is a test string.\n"; $bz = bzopen($filename, "w"); bzwrite($bz, $str); bzclose($bz); $bz = bzopen($filename, "r"); echo print bzread($bz, 10), bzread($bz); bzclose($bz); ?>
bzcompress. Сжатие строки методом bzip2
string bzcompress (string source [, int blocksize [, int workfactor]])
Функция сжимает строку, указанную в аргументе source. В необязательном аргументе blocksize можно указать уровень сжатия от 1 до 9, где значение 9 соответствует максимальному сжатию, требующему максимума ресурсов. По умолчанию используется четвертый уровень.
Аргумент workfactor управляет сжатием данных с высокой частотностью. Возможные значения лежат в интервале от 0 до 250. По умолчанию используется значение 30.
Пример
$str = "sample data"; $bzstr = bzcompress($str, 9); print($bzstr);
См. также bzdecompress().
bzdecompress. Распаковка строки, сжатой методом bzip2
string bzdecompress (string source [, int small])
Функция распаковывает строку source, содержимое которой ранее было сжато методом bzip2, после чего возвращает полученную строку. Если в необязательном аргументе указывается значение TRUE, то используется алгоритм, потребляющий минимальный объем памяти, но при этом функция работает значительно медленнее.
Пример
<?php $start_str = "Это первоначальная несжатая строка"; $bzstr = bzcompress($start_str); print( "Compressed String: $bzstr \n<br>" ); $str = bzdecompress($bzstr); print( "Decompressed String: " . $str . "\n<br>" ); ?>
См. также bzcompress().
bzopen. Открытие сжатого файла bzip2
int bzopen (string filename, string mode)
Функция возвращает дескриптор открытого файла или значение FALSE в случае возникновения ошибки. Аргумент mode принимает те же значения, что и в функции fopen().
Пример
<?php $bz = bzopen("/tmp/foo.bz2", "r"); $decompressed_file = bzread($bz, filesize("/tmp/foo.bz2")); bzclose($bz); print( "The contents of /tmp/foo.bz2 are: " ); print( "\n<br>n" ); print( $decompressed_file ); ?>
См. также bzclose().
bzclose. Закрытие файла bzip2
int bzclose (int bz)
Функция закрывает файл bzip2 с дескриптором bz. В случае успеха возвращается значение TRUE. При возникновении ошибки возвращается значение FALSE.
См. также bzopen().
bzread. Чтение из файла bzip2
string bzread (int bz [, int length])
Функция читает данные из файла с дескриптором bz. Количество читаемых байтов можно указать аргументом length. Если он не указывается, то читается 1024 байта. Чтение прекращается, когда будет прочитано length распакованных байтов, или если будет обнаружен символ конца файла EOF.
Пример
<?php $bz = bzopen("/tmp/foo.bz2", "r"); $str = bzread($bz, 2048); print( $str ); ?>
См. также bzwrite() и bzopen().
bzwrite. Запись в файл bzip2 данных
int bzwrite (int bz, string data [, int length])
В аргументе data указывается строка, содержащая записываемые данные. В аргументе bz указывается дескриптор открытого файла bzip2. Если указан аргумент length, то запись прекращается после того, как будет записано length неупакованных байт.
Пример
<?php $str = "uncompressed data"; $bz = bzopen("/tmp/foo.bz2", "w"); bzwrite($bz, $str, strlen($str)); bzclose($bz); ?>
См. также bzread() и bzopen().
bzflush. Запись всего буферизированного вывода в файл bzip2
int bzflush (int bz)
В аргументе bz указывается дескриптор открытого файла. Потом в него записывается вся информация, подготовленная для вывода.
См. также bzread() и bzwrite().
bzerrno. Получение номера ошибки bzip2
int bzerrno (int bz)
В аргументе bz указывается дескриптор открытого файла, при операции с которым произошла ошибка. Возвращается код ошибки.
См. также bzerror() и bzerrstr().
bzerrstr. Получение описания ошибки bzip2
string bzerrstr (int bz)
В аргументе bz указывается дескриптор открытого файла, при операции с которым произошла ошибка. Функция возвращает описание ошибки.
См. также bzerrno() и bzerror().
bzerror. Получение номера и описания ошибки bzip2 в массиве
array bzerror (int bz)
Функция возвращает ассоциативный массив, содержащий два элемента. В одном указывается код ошибки, а в другом - описание ошибки. В аргументе bz указывается дескриптор открытого файла, при операции с которым произошла ошибка.
Пример
$error = bzerror($bz); echo $error["errno"]; echo $error["errstr"];
См. также bzerrno() и bzerrstr().
.
Прокомментировать/Отблагодарить