In some circumstances, you may want to send a bzip2 stream to the client.
To do this, you need only do:
<?php
ob_flush();
$bz = bzopen('php://stdout', 'w');
bzwrite($bz, 'some input here');
bzclose($bz);
?>
However, please note, because you are using STDOUT, you need to ob_flush() before actually writing to the stream. Otherwise, you might be sending data before the headers, which will cause errors on both server and client ends, in most cases.
You might be able to use php://output rather than php://stdout, however in my tests (with Linux), php://output doesn't actually work - at all.
bzopen
(PHP 4 >= 4.0.4, PHP 5)
bzopen — Bzip2 sıkıştırmalı bir dosyayı açar
Açıklama
resource bzopen
( string
$dosyaadı
, string $kip
)bzopen() bzip2 (.bz2) türündeki dosyaları okuma ve yazma amacıyla açar.
Değiştirgeler
-
dosyaadı -
Açılacak dosyanın adı.
-
kip -
fopen() işlevine benzer şekilde sadece okuma amaçlı ise 'r', sadece yazma amaçlı ise 'w' desteklenir. Bunlar dışındaki herşey için işlev
FALSEdöndürür.
Dönen Değerler
Eğer dosya açma işlemi başarılamazsa bzopen() geriye
FALSE döndürür. Aksi takdirde yeni açılan dosyaya ait bir bzip2 dosya
tanıtıcısı döndürür.
Örnekler
Örnek 1 - bzopen() örneği
<?php
$dosya = '/tmp/abc.bz2';
$bz = bzopen($file, 'r') or die("Belirtilen $dosya dosyası açılamadı.");
bzclose($bz);
?>
KrazyBox ¶
4 years ago
Jille at quis dot cx dot spam dot to dot my dot devnull ¶
5 years ago
Warning!
the example show above is _not_ working in every case!
This example will continue reading until there is no more data:
<?PHP
$bz=bzopen('foo.bz2', 'r');
$data="";
do {
$line=bzread($bz, 8092);
if($line!==false)
$data.=$line;
}
while($line);
bzclose($bz);
?>
