bzread

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzreadBinarnie bezpieczny odczyt pliku bzip2

Opis

bzread ( resource $bz [, int $długość = 1024 ] ) : string

bzread() odczytuje z podanego wskaźnika pliku.

Odczytywanie jest zatrzymywane, gdy przeczytano długość (nieskompresowanych) bajtów lub osiągnięto EOF, cokolwiek wystąpi pierwsze.

Parametry

bz

Uchwyt do pliku musi być poprawny oraz musi wskazywać na plik otwarty za pomocą funkcji bzopen().

długość

Jeśli nie została określona bzread() zostaną odczytane 1024 (nieskompresowane) bajty. Maksymalnie może zostać odczytanych 8192 bajtów.

Zwracane wartości

Zwraca nieskompresowane dane lub FALSE w przypadku błędu.

Przykłady

Przykład #1 bzread() przykład

<?php

$file 
"/tmp/foo.bz2";
$bz bzopen($file"r") or die("Nie mogę otworzyć $file");

$decompressed_file '';
while (!
feof($bz)) {
  
$decompressed_file .= bzread($bz4096);
}
bzclose($bz);

echo 
"Zawartość pliku $file to: <br />\n";
echo 
$decompressed_file;

?>

Zobacz też:

  • bzwrite() - Binarnie bezpieczny zapis plików bzip2
  • feof() - Sprawdza czy wskaźnik pliku jest na końcu pliku (EOF)
  • bzopen() - Otwiera skompresowany plik bzip2

add a note add a note

User Contributed Notes 2 notes

up
4
user@anonymous
12 years ago
Make sure you check for bzerror while looping through a bzfile. bzread will not detect a compression error and can continue forever even at the cost of 100% cpu.

$fh = bzopen('file.bz2','r');
while(!feof($fh)) {
  $buffer = bzread($fh);
  if($buffer === FALSE) die('Read problem');
  if(bzerror($fh) !== 0) die('Compression Problem');
}
bzclose($fh);
up
1
Anonymous
8 years ago
The earlier posted code has a small bug in it: it uses bzerror instead of bzerrno. Should be like this:

$fh = bzopen('file.bz2','r');
while(!feof($fh)) {
  $buffer = bzread($fh);
  if($buffer === FALSE) die('Read problem');
  if(bzerrno($fh) !== 0) die('Compression Problem');
}
bzclose($fh);
To Top