<?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
Introdução
As funções para bzip2 são usadas para ler e escrever, de forma transparente, arquivos compactados do tipo bzip2 (.bz2).
Dependências
Este módulo utiliza as funções da biblioteca bzip2 desenvolvida por Julian Seward
Instalação
O suporte às funções para Bzip2 no PHP não é habilitado por padrão. Você precisa usar a opção de configuração --with-bz2 quando for compilar o PHP para habilitar o suporte a bzip2. Este módulo requer bzip2/libbzip2, versão >= 1.0.x.
Configurações em execução
Esta extensão não define nenhum parâmetro de configuração no php.ini.
Tipos Resource
Esta extensão define um tipo de recurso (resource): um ponteiro para arquivo que identifica o arquivo bzip2 que está sendo usado.
Constantes pré-definidas
Esta extensão não possui nenhuma constante.
Exemplos
Este exemplo abre um arquivo temporário e escreve uma string de test nele, e então mostra o conteúdo do arquivo.
- Índice
- bzclose -- Fecha um ponteiro de arquivo bzip2
- bzcompress -- Comprime uma string em dados no formato bzip2
- bzdecompress -- Descomprime dados no formato bzip2
- bzerrno -- Retorna um número de erro do bzip2
- bzerror -- Retorna o número e string de erro do bzip2 como um array
- bzerrstr -- Retorna a string de erro do bzip2
- bzflush -- Força a escrita de todos os dados que estão no buffer
- bzopen -- Abre um arquivo comprimido com bzip2
- bzread -- Leitura binary-safe de um arquivo bzip2
- bzwrite -- Escrita binary-safe em um arquivo bzip2
