在 PHP 中 - 是否可以组合/连接多个 gzencode

发布于 2024-10-19 23:57:01 字数 161 浏览 2 评论 0原文

我有一个以 gzip 编码下载的大页面。 文件中在查看者之间发生变化的部分很小。 理想情况下,我想对大型静态片段进行 gzencode() 并将其缓存,然后将其与更动态的内容的 gzencoded 版本结合起来。这可能吗?如果没有,是否还有其他技巧可以用来在 1 个请求中仍然提供 gzencoded 页面?

I have a large page that downloads in gzip encoding.
The portion of the file that changes between viewers is tiny.
Idealy I'd like to gzencode() the large static piece and cache it, then combine it with a gzencoded version of the more dynamic stuff. Is this possible? If not, is there any other trick I could use to still serve this page gzencoded and in 1 request?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏雨凉 2024-10-26 23:57:01

事实上,它工作得很好。我刚刚测试过。它甚至(在某种程度上)记录在 gzip 手册页中。

多个压缩文件可以串联。在这种情况下,gunzip
将立即提取所有成员。例如:

     gzip -c file1  > foo.gz
     gzip -c file2 >> foo.gz

Then

     gunzip -c foo

相当于

     cat file1 file2

所以在 PHP 中您可以多次调用 gzencode()。就像这样:

   $string1 = "test1";
   $string2 = "test2";
   $output = gzencode($string1).gzencode($string2);

很抱歉破坏了这篇文章,但这在谷歌上出现了一个不相关的搜索,并且想要更正答案。

Actually, it works just fine. I just tested it. It's even documented (sort of) in the gzip man page.

Multiple compressed files can be concatenated. In this case, gunzip
will extract all members at once. For example:

     gzip -c file1  > foo.gz
     gzip -c file2 >> foo.gz

Then

     gunzip -c foo

is equivalent to

     cat file1 file2

So in PHP you can call gzencode() multiple times. Like such:

   $string1 = "test1";
   $string2 = "test2";
   $output = gzencode($string1).gzencode($string2);

Sorry to necro the post, but this comes up on google for an unrelated search and wanted to correct the answer.

垂暮老矣 2024-10-26 23:57:01

没有。 gzip 格式和 deflate 编码都不允许将块连接在一起。 PHP 中没有内置函数可以执行此操作。

No. Neither the gzip format nor the deflate encoding allow for blocks to be concatenated together. And there is no built-in function in PHP to do so.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文