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

search for in the

bzclose> <bcompiler_write_header
[edit] Last updated: Mon, 01 Nov 2010

view this page in

IX. Kompresja Bzip2

Wstęp

Funkcje bzip2 są używane do przezroczystego odczytu i zapisu skompresowanych plików bzip2 (.bz2).

Wymagania

Ten moduł używa funkcji z biblioteki bzip2 stworzonej przez Juliana Seward'a. Moduł wymaga bzip2/libbzip2 w wersji >= 1.0.x.

Instalacja

Obsługa kompresji bzip2 nie jest domyślnie włączona w PHP. Aby ją aktywować, należy użyć opcji --with-bz2=[DIR] podczas kompilacji PHP z kodu źródłowego.

Konfiguracja czasu wykonywania

To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.

Typy zasobów

Rozszeżenie to definiuje jeden typ zasobów: wskaźnik pliku identyfikujący plik bz2 na którym pracuje.

Stałe predefinopwane

To rozszerzenie nie posiada żadnych stałych.

Przykłady

Ten przykład otwiera tymczasowy plik i zapisuje w nim testowy łańcuch znaków, po czym wyświetla zawartość pliku.

Przykład 1. Mały przykład bzip2

<?php

$filename
= "/tmp/testfile.bz2";
$str = "To jest testowy lancuch znakow.\n";

// otwarcie pliku do zapisu
$bz = bzopen($filename, "w");

// zapisanie łańcucha znaków do pliku
bzwrite($bz, $str);

// zamknięcie pliku
bzclose($bz);

// otwarcie pliku do odczytu
$bz = bzopen($filename, "r");

// przeczytanie 10 znaków
echo bzread($bz, 10);

// wyświetlaj dopóki nie nastąpi koniec pliku (lub następne 1024 znaki) i zamknij go.
echo bzread($bz);

bzclose($bz);

?>
Spis treści
bzclose -- Zamyka otwarty plik bzip2
bzcompress -- Compress a string into bzip2 encoded data
bzdecompress -- Decompresses bzip2 encoded data
bzerrno -- Zwraca numer błędu biblioteki bzip2.
bzerror --  Zwraca numer błędu bzip2 oraz opis błędu w postaci tablicy.
bzerrstr -- Zwraca opis błędu bzip2
bzflush -- Wymusza zapisanie do pliku wszystkich danych z bufora
bzopen -- Otwiera skompresowany plik bzip2
bzread -- Binarnie bezpieczny odczyt pliku bzip2
bzwrite -- Binarnie bezpieczny zapis plików bzip2


add a note add a note User Contributed Notes Kompresja 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;
}
?>

 
show source | credits | sitemap | contact | advertising | mirror sites