PHP提取zip字符串

时间:2013-12-30 14:17:01

标签: php zip zlib

我有一个与ERP系统的集成项目,它返回一个用zip压缩为二进制字符串的发票列表:

  

Xc1NCsIwEEDhq0j2ZuIPCEWF4qqgNNCN2yFWGzAzMhmMvb1g0YUHeN / b1iI4tlcvkSXq2NCTY + hnr3SnvDOD6qMCyGHoE2Z7QcXApIJBLcsNls6twW1gyn3b1b6xB06Jyf6R2UxoFX9sKcWW1RdawPl07D6neaSsSKE3sH8D

我无法成功提取它,我尝试使用gzuncompress()new ArchiverZip()也尝试将其转换为bin2hexbase64 ...而且没有,我应该从这个字符串中获取一个对象。

开发ERP系统的人告诉我他们用Ionic压缩它(??): Ionic.Zlib.DeflateStream.UncompressBuffer(compressedData);

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:1)

该数据使用原始deflate进行压缩(没有zlib,gzip或defrap数据的zip包装)和base64编码。解码和解压缩,它是:

<ArrayOfPriorityInvoice xmlns="http://schemas.datacontract.org/2004/07/PrioriPOSAPI.Common.PriorityInvoices" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>

使用base64_decode()gzinflate()提取数据。

答案 1 :(得分:-1)

尝试使用file_get_contents

读取字符串

然后将一个zip文件写入tmp文件夹,然后将其解压缩

告诉我你是否需要进一步解释