PS when it encounters and breaks on a newline byte ("\n"), the newline byte itself is not included in the returned string.
(PHP 4, PHP 5, PHP 7, PHP 8)
gzgets — Get line from file pointer
$stream
, int|null $length
= null
) : string|falseGets 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).
stream
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.
版本 | 说明 |
---|---|
8.0.0 |
length is nullable now;
previously, the default was 1024 .
|
Example #1 gzgets() example
<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
$buffer = gzgets($handle, 4096);
echo $buffer;
}
gzclose($handle);
?>
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).
<?
// 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) ;
?>