<?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. Funciones de compresión Bzip2
Introducción
Las funciones bzip2 son usadas para leer y escribir de forma transparente, ficheros comprimidos bzip2 (.bz2)
Requisitos
Este módulo usa las funciones de la biblioteca bzip2 de Julian Seward. este módulo requiere bzip2/libbzip2 version >= 1.0.x.
Instalación
El soporte para bzip2 en PHP no está habilitado por defecto. Necesita usar el parámetro de configuración --with-bz2[=DIR] a la hora de compilar PHP para habilitar el soporte para bzip2.
Configuración en tiempo de ejecución
Esta extensión no tiene directivas de configuración en php.ini.
Tipos de recursos
Esta extensión define un tipo de recurso: un puntero de fichero que identifica el fichero bz2 con el que se va a trabajar.
Constantes predefinidas
Esta extensión no tiene ninguna constante definida.
Ejemplos
Este ejemplo abre un fichero temporal, escribe una cadena literal en el y presenta el contenido de dicho fichero.
- Tabla de contenidos
- bzclose -- Cierra un archivo bzip2
- bzcompress -- Comprime una cadena a una forma de datos codificados bzip2
- bzdecompress -- Descomprime datos codificados con bzip2
- bzerrno -- Regresa un número de error bzip2
- bzerror -- Regresa el número y la cadena de error bzip2 en una matriz
- bzerrstr -- Regresa una cadena de error de bzip2
- bzflush -- Fuerza la escritura de todo los datos en el buffer
- bzopen -- Abre un archivo comprimido bzip2
- bzread -- Lectura segura de archivo bzip2 binario
- bzwrite -- Escritura segura de archivo bzip2 binario
