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