bzread
(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)
bzread — Бинарно-безопасное чтение файла bzip2
Описание
string bzread
( resource $bz
[, integer $length
] )
bzread() считывает length байт из файла bzip2, на который ссылается указатель bz . Чтение останавливается, когда length (несжатых) байт прочитано или достигнут конец файла (EOF). Если опциональный параметр length не задан, bzread() будет считывать по 1024 (несжатых) байт за раз.
Пример #1 Пример использования bzread()
<?php
$bz = bzopen("/tmp/foo.bz2", "r");
$str = bzread($bz, 2048);
print( $str );
?>
Коментарии
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);
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);