PHP Conference Japan 2024

gzgets

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgets从文件指针获取行

描述

gzgets(资源 $stream, ?整数 $length = null): 字符串|false

从给定的文件指针读取最多 length - 1 字节的(未压缩)字符串。读取在读取了 length - 1 字节、遇到换行符或遇到 EOF 时结束(以先到者为准)。

参数

stream

gz 文件指针。它必须有效,并且必须指向由 gzopen() 成功打开的文件。

length

要获取的数据长度。

返回值

未压缩的字符串,或者在发生错误时返回 false

变更日志

版本 描述
8.0.0 length 现在可以为 null;之前,默认值为 1024

范例

示例 #1 gzgets() 示例

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

参见

添加注释

用户贡献的注释 3 条注释

prismngp1 at yahoo dot com
22 年前
<?
// 这是 VIJAY 编写的解压 .gz 文件的简单代码
$file = "/absolute/path/to/your/file" ;
$fp = fopen("$file", "w") ;
// 要在您的服务器上解压的文件
$filename = "filename.gz" ;
$zp = gzopen($filename, "r");

if ($zp)
{
while (!gzeof($zp))
{
$buff1 = gzgets ($zp, 4096) ;
fputs($fp, $buff1) ;
}
}
gzclose($zp) ;
fclose($fp) ;
?>
divinity76 at gmail dot com
5 年前
PS 当它遇到并中断换行符字节 ("\n") 时,换行符字节本身不包含在返回的字符串中。
匿名用户
19 年前
对于 VIJAY 以上的示例,使用 gzgetc 会更好,因为我遇到了二进制/文本文件的不兼容性(至少在 PHP 4.0.4 中)。
To Top