gpt4 book ai didi

php - gzopen() 之后的 gzXXX() 与 fXXX() 函数

转载 作者:行者123 更新时间:2023-12-05 06:23:06 25 4
gpt4 key购买 nike

我有像这样打开和处理 gzip 文件的应用程序:

$fh = gzopen($fn, "r");
if ($fh) {
while ($line = fgets($fh)) {
...
}
}

使用带有 gzip 文件句柄的 fgets() 效果很好。今天一边接听another question我注意到还有所有文件读取和写入函数的 gz 版本,所以这可以写成

$fh = gzopen($fn, "r");
if ($fh) {
while ($line = gzgets($fh)) {
...
}
}

此外,我刚刚尝试了以下方法并且有效:

$fh = fopen(".bashrc", "r");
$line = gzgets($fh);
echo $line;

那么读写的gzXXX()fXXX()函数之间真的有什么显着的区别吗,或者它们只是同义词,区别是由文件是如何打开的(为了进一步混淆,gzopen() 也将打开非 gzip 文件,然后在不解压缩的情况下读取)。

最佳答案

Based on the source, gzopen()使用 php_stream_gzopen()返回一个包装流,这就是 f... 系列函数在资源上运行良好的原因。 (这类似于流包装器允许您使用例如 http:// 等打开类文件对象的方式。)

至于为什么可以fopen()然后gzgets()your hunch is correct ; gzclose, gzeof, gzgetc, gzgets, gzpassthru, gzputsgzreadgzrewindgzseekgztellgzwrite 是相同 f... 函数的所有别名。

关于php - gzopen() 之后的 gzXXX() 与 fXXX() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58663278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com