PHP: Hypertext Preprocessor (original) (raw)
bzread
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
bzread — Binary safe bzip2 file read
Description
Reading stops when length
(uncompressed) bytes have been read or EOF is reached, whichever comes first.
Parameters
bz
The file pointer. It must be valid and must point to a file successfully opened by bzopen().
length
If not specified, bzread() will read 1024 (uncompressed) bytes at a time. A maximum of 8192 uncompressed bytes will be read at a time.
Return Values
Returns the uncompressed data, or [false](reserved.constants.php#constant.false)
on error.
Examples
Example #1 bzread() example
`<?php
$file
= "/tmp/foo.bz2"; bz=bzopen(bz = bzopen(bz=bzopen(file, "r") or die("Couldn't open file");file");file");decompressed_file = '';
while (!feof($bz)) { decompressedfile.=bzread(decompressed_file .= bzread(decompressedfile.=bzread(bz, 4096);
}
bzclose($bz);
echo
"The contents of $file are:
\n";
echo $decompressed_file;?>`
See Also
- bzwrite() - Binary safe bzip2 file write
- feof() - Tests for end-of-file on a file pointer
- bzopen() - Opens a bzip2 compressed file
Found A Problem?
13 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(buffer = bzread(buffer=bzread(fh);
if($buffer === FALSE) die('Read problem');
if(bzerror($fh) !== 0) die('Compression Problem');
}
bzclose($fh);
`
9 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(buffer = bzread(buffer=bzread(fh);
if($buffer === FALSE) die('Read problem');
if(bzerrno($fh) !== 0) die('Compression Problem');
}
bzclose($fh);
`