• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • bzopen()

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

    打开 bzip2 压缩文件

    说明

    bzopen(mixed $file,string $mode): resource

    bzopen()打开一个 bzip2(.bz2)文件用于读或写。

    参数

    $file

    待打开的文件的文件名,或者已经存在的资源流。

    $mode

    支持'r'(读)和'w'(写)模式。其他任何模式都会导致bzopen()返回FALSE

    返回值

    如果打开失败,bzopen()会返回FALSE,否则返回一个指向最新打开文件的指针。

    范例

    bzopen()范例

    <?php
    $file = "/tmp/foo.bz2";
    $bz = bzopen($file, "r") or die("Couldn't open $file for reading");
    bzclose($bz);
    ?>
    

    参见

    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.
    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);
    ?>
    

    上篇:bzflush()

    下篇:bzread()