<?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;
}
?>
IX. Функции сжатия Bzip2
Введение
Расширение используется для чтения, записи файлов (.bz2), с использованияем метода сжатия bzip2.
Требования
Расширение использует функции библиотеки bzip2 (автор: Julian Seward) и требует bzip2/libbzip2 версий >= 1.0.x.
Установка
Поддержка Bzip2 в PHP не включена по умолчанию. Вам
придётся скомпилировать PHP с указанием директивы --with-bz2[=DIR].
Настройка во время выполнения
Данное расширение не определяет никакие директивы конфигурации в php.ini.
Типы ресурсов
Расширение определяет один новый тип ресурсов: указатель на bz2-файл, с которым идёт работа.
Предопределенные константы
Данное расширение не определяет никакие константы.
Примеры
Следующий пример откроет временный файл, запишет в нему тестовую строку, после чего выдаст содержание файла.
- Содержание
- bzclose -- Закрывает файл bzip2
- bzcompress -- Сжимает данные с использованием bzip2
- bzdecompress -- Распаковывает данные, сжатые с использованием bzip2
- bzerrno -- Возвращает код ошибки работы с bzip2
- bzerror -- Возвращает код и строку ошибки работы с bzip2
- bzerrstr -- Возвращает строку ошибки работы с bzip2
- bzflush -- Вызывает запись всех буфферизированных данных
- bzopen -- Открывает для работы файл, сжатый с использованием bzip2
- bzread -- Бинарно-безопасное чтение файла bzip2
- bzwrite -- Бинарно-безопасная запись bzip2 файла
Функции сжатия Bzip2
ec10 at gmx dot net
20-May-2004 11:34
20-May-2004 11:34
