PHP 8.6.0 Beta 1 is available for testing

bzread

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

bzreadБинарно-безопасное чтение файла bzip2

Описание

function bzread(resource $bz, int $length = 1024): string |false

bzread() читает из переданного bzip2 файлового указателя.

Чтение останавливается, если было считано length (несжатых) байт или был достигнут конец файла, в зависимости от того, что произойдёт раньше.

Список параметров

bz
Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen() .
length
Если не указан, bzread() будет считывать 1024 (несжатых) байта за один раз. За один раз может быть считано максимум 8192 байта.

Возвращаемые значения

Возвращает распакованные данные либо false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования bzread()

<?php
$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Невозможно открыть $file");
$decompressed_file = '';
while (!feof($bz)) {
 $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);
echo "Содержимое $file: <br />\n";
echo $decompressed_file;
?>

Смотрите также

  • bzwrite() - Бинарно-безопасная запись bzip2 файла
  • feof() - Проверяет, достигнут ли конец файла
  • bzopen() - Открывает файл, сжатый с использованием bzip2

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
1
Anonymous
10 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);
up
1
user@anonymous
14 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);
+Добавить

AltStyle によって変換されたページ (->オリジナル) /