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

    (PHP 4, PHP 5, PHP 7)

    Get line from file pointer

    说明

    gzgets(resource $zp[,int $length]): string

    Gets a(uncompressed)string of up to length - 1 bytes read from the given file pointer. Reading ends when length - 1 bytes have been read, on a newline, or on EOF(whichever comes first).

    参数

    $zp

    The gz-file pointer. It must be valid, and must point to a file successfully opened by gzopen().

    $length

    The length of data to get.

    返回值

    The uncompressed string, or FALSE on error.

    范例

    gzgets() example

    <?php
    $handle = gzopen('somefile.gz', 'r');
    while (!gzeof($handle)) {
       $buffer = gzgets($handle, 4096);
       echo $buffer;
    }
    gzclose($handle);
    ?>
    

    参见

    <?
    // this is simple code by VIJAY to unzip .gz file
    $file = "/absolute/path/to/your/file" ;
    $fp = fopen("$file", "w") ;
    // file to be unzipped on your server
    $filename = "filename.gz" ;
    $zp = gzopen($filename, "r");
    if ($zp)
    {
     while (!gzeof($zp))
     {
      $buff1 = gzgets ($zp, 4096) ;
      fputs($fp, $buff1) ;
     }        
    }      
    gzclose($zp) ;
    fclose($fp) ;
    ?>
    
    PS when it encounters and breaks on a newline byte ("\n"), the newline byte itself is not included in the returned string.
    For the above example by VIJAY, using gzgetc would be better, as I've encountered binary/text file incompatibilities (at least with PHP 4.0.4).

    上篇:gzgetc()

    下篇:gzgetss()