PHP: Функции сжатия Bzip2 - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

bzclose bcompiler_write_header

Last updated: Sat, 27 Jan 2007

view this page in

# IX. Функции сжатия Bzip2

# Введение

Расширение используется для чтения, записи файлов (.bz2), с использованияем метода сжатия bzip2.

# Требования

Расширение использует функции библиотеки bzip2 (автор: Julian Seward) и требует bzip2/libbzip2 версий >= 1.0.x.

# Установка

Поддержка Bzip2 в `PHP` не включена по умолчанию. Вам придётся скомпилировать PHP с указанием директивы `--with-bz2[=DIR]`.

# Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в `php.ini`.

# Типы ресурсов

Расширение определяет один новый тип ресурсов: указатель на bz2-файл, с которым идёт работа.

# Предопределенные константы

Данное расширение не определяет никакие константы.

# Примеры

Следующий пример откроет временный файл, запишет в нему тестовую строку, после чего выдаст содержание файла.

Пример 1. Пример работы с bzip2

`<?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");
// читаем и выводим 10 символов
print bzread($bz, 10);
// выводим всё, до конца файла и закрываем его.
print bzread($bz);
bzclose($bz);
?>`

add a note User Contributed Notes
Функции сжатия Bzip2
ec10 at gmx dot net
20-May-2004 11:34
`<?php
/**
* @return bool
* @param string $in
* @param string $out
* @desc compressing the file with the bzip2-extension
*/
function bzip2 ($in, $out)
{
if (!file_exists ($in) || !is_readable ($in))
return false;
if ((!file_exists ($out) && !is_writeable (dirname ($out)) || (file_exists($out) && !is_writable($out)) ))
return false;
$in_file = fopen ($in, "rb");
$out_file = bzopen ($out, "wb");
while (!feof ($in_file)) {
$buffer = fgets ($in_file, 4096);
bzwrite ($out_file, $buffer, 4096);
}
fclose ($in_file);
bzclose ($out_file);
return true;
}
/**
* @return bool
* @param string $in
* @param string $out
* @desc uncompressing the file with the bzip2-extension
*/
function bunzip2 ($in, $out)
{
if (!file_exists ($in) || !is_readable ($in))
return false;
if ((!file_exists ($out) && !is_writeable (dirname ($out)) || (file_exists($out) && !is_writable($out)) ))
return false;
$in_file = bzopen ($in, "rb");
$out_file = fopen ($out, "wb");
while ($buffer = bzread ($in_file, 4096)) {
fwrite ($out_file, $buffer, 4096);
}
bzclose ($in_file);
fclose ($out_file);
return true;
}
?>`
add a note
bzclose bcompiler_write_header

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST