PHP字节数组到Zip文件

rjbathgate

我有一个PHP数组,其中包含字节,实际字节代表一个ZIP文件(该ZIP文件中包含多个文件)。

这是从第三方API返回的,所以我别无选择,只能使用这种格式。

因此,我正在尝试将其转换为ZIP文件。

API返回的字节数组示例:

[bytes] => Array
            (
                [0] => 37
                [1] => 80
                [2] => 68
                [3] => 70
                [4] => 45
                [5] => 49
                [6] => -46
... continues to close to 20,000
)

我尝试通过创建完整的字节字符串并调整浏览器标头来简单地让浏览器返回它...使用:

foreach($bytes as $byte)
{
    $byteString .= $byte;
}
header("Content-type: application/zip"); 
header("Content-Disposition: inline; filename='test.zip'");
echo $byteString;

这确实会创建一个zip文件,但是它无效/损坏。

我也尝试过在Stackoverflow的其他地方找到的方法:

$fp = fopen('/myfile.zip', 'wb+');

while(!empty($bytes)) {
     $byte1 = array_shift($bytes);
     $byte2 = array_shift($bytes);
     if(!$byte2) {
         $byte2 = 0;
     }
fwrite($fp, pack("n*", ($byte1 << 8) + $byte2)); 
}
close($fp);

但是,再次创建了ZIP,但它无效/已损坏。

任何指针,最赞赏。

谢谢

v

借助ascii表,可以很容易地解码所接收的数据,并且您会看到它以

%PDF

这意味着返回的数据为PDF格式,而不是zip格式。Zip文件以PK(该格式的发明者已故的Phil Katz的缩写)的缩写开头

作为一般说明,了解常见的文件类型签名非常有用,并且可以节省大量时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP字节数组到Zip文件

来自分类Dev

Clojure,文件到字节数组?

来自分类Dev

将字节数组中的文件写入zip文件

来自分类Dev

将字节数组中的文件写入zip文件

来自分类Dev

读取文件到字节数组时的冗余字节

来自分类Dev

Android | 如何读取文件到字节数组?

来自分类Dev

字节数组到布尔数组

来自分类Dev

固定对象到字节数组

来自分类Dev

WPF WriteableBitmap到字节数组

来自分类Dev

BigIntegers的ArrayList到字节数组

来自分类Dev

图像到字节数组-ExternalException

来自分类Dev

字节数组到BitmapImage WP

来自分类Dev

编码图像到字节数组

来自分类Dev

图片框到字节数组

来自分类Dev

ZipEntry到字节数组

来自分类Dev

读取文件为字节数组

来自分类Dev

Kotlin从文件读入字节数组

来自分类Dev

读取文件为字节数组

来自分类Dev

使用Ionic.zip从字节数组读取zip文件

来自分类Dev

将大文件作为拆分的zip文件,流或字节数组WCF返回的最佳方法

来自分类Dev

AS3字节数组到C#字节数组

来自分类Dev

AS3字节数组到C#字节数组

来自分类Dev

MySQL和Java:检索到的字节数组与存储时的字节数组不同

来自分类Dev

如何提取和读取以字节数组形式发送的zip文件的条目

来自分类Dev

如何提取和读取以字节数组形式发送的zip文件的条目

来自分类Dev

如何从 gziptream 生成的字节数组创建 gz zip 文件

来自分类Dev

字节字符串到字节数组

来自分类Dev

字节数组[]到字节在Java中可能吗?

来自分类Dev

字节数组到字节的转换错误