PHP 5.4.31 Released

bzread

(PHP 4 >= 4.0.4, PHP 5)

bzreadBinär-sicheres Lesen aus einer bzip2-Datei

Beschreibung

string bzread ( resource $bz [, int $length = 1024 ] )

bzread() liest Daten vom übergebenen bzip2-Dateizeiger.

Das Lesen wird beendet, wenn length (unkomprimierte) Bytes gelesen wurden oder das Ende der Datei (EOF) erreicht ist, je nachdem, welcher Fall zuerst auftritt.

Parameter-Liste

bz

Der Dateizeiger. Es muss ein valider Zeiger sein und auf eine Datei zeigen, die erfolgreich mittels bzopen() geöffnet wurde.

length

Wenn nichts angegeben ist, liest bzread() 1024 (unkomprimierte) Bytes auf einmal. Maximal 8192 unkomprimierte Bytes können auf einmal gelesen werden.

Rückgabewerte

Gibt die unkomprimierten Daten oder im Fehlerfall FALSE zurück.

Beispiele

Beispiel #1 bzread()-Beispiel

<?php

$file 
"/tmp/foo.bz2";
$bz bzopen($file"r") or die("Konnte $file nicht öffnen");

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

echo 
"Der Inhalt von $file ist: <br />\n";
echo 
$decompressed_file;

?>

Siehe auch

  • bzwrite() - Binär-sicheres Schreiben einer bzip2-Datei
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • bzopen() - Öffnet eine bzip2-komprimierte Datei

add a note add a note

User Contributed Notes 1 note

up
1
user@anonymous
2 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);
To Top