php - 相当于 linux 中的 php gzinflate()

标签 php linux gzip

我的服务器正在响应 Content-type:application/binary,我能够通过从数据中删除前 10 个字符和最后 8 个字符并将该数据传递给 php 的 gzinflate() 命令来解码该数据。

但我想使用 Linux shell 脚本做同样的事情,但我不知道如何去做,有谁知道在 linux 中是否有与 gzinflate 类似的功能,或者是否有任何其他方法可以解决这个问题。

最佳答案

在 Linux shell 中使用 gzip、gunzip 或 zcat 时,您始终处理以 10 字节 header 开头的数据。该 header 包括(除其他外)一个 2 字节签名(也称为“魔术”)、一个时间戳和压缩方法。在前 10 个字节之后还有一些标志通知可选的辅助 header 。

PHP 函数 gzinflate() 和 gzdeflate() 不适用于这些头字节。这就是您必须从服务器响应中删除前 10 个字节的原因。

因此,为了在 Linux shell 中扩充您从服务器收到的数据,只需将其全部传递给 gunzip 或 zcat,而不删除任何内容。

关于php - 相当于 linux 中的 php gzinflate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210081/

相关文章:

c# - 通过网络将压缩数据从 C# 发送到 Java

php - MYSQL查询的问题(效率)

php - 使用 PHP cURL 时服务器停止运行

linux - 以#!/bin/rm 开头的脚本如何删除自身?

linux kallsyms R 符号不显示

bash - 如何将每个文件分别压缩到一个文件夹中,然后如果成功则删除原始文件

php - Yii2:Kartik Gridview 页脚中一列的总和

php - 我如何在 Zend Framework 中将我的响应设为 "gzip"?

linux - 如何在 Linux 中为内存映射文件提供写时扩展功能?

java - Gzip解压返回随机字符