iOS gzip压缩到PHP

我正在通过POST将大量文本发送到我的网页上,而这是PHP收到的.大约500kb-1.5 mb.问题在于它是非常重复的数据,我想对其进行压缩.数据看起来像这样,“ 123,123,123,124,124,124,125,126 …等”

我找到了Geoggrey Garside http://cocoadev.com/wiki/NSDataCategory编写的NSData压缩库,其中包含gzipInflate和gzipDeflate方法,并已使用gzipInflate方法从服务器正确解压缩数据,但是我一生无法弄清楚如何在iOS中压缩字符串并将其发送通过PHP解压缩到服务器.

这是我的iOS代码

NSData* uncompressedStringData = [@"test" dataUsingEncoding:NSUTF8StringEncoding];
NSData* compressedData = [uncompressedStringData gzipDeflate];
ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"myserver"]];
[request setPostValue:@compressedData forKey:@"1"];
...more code to deal with sending the request.. etc...

这是我的PHP代码

echo gzinflate($_POST['1']);

我从服务器上得到的只是

Warning: gzinflate() data error

任何帮助将非常感激!

解决方法:

尝试gzdecode而不是gzinflate

[编辑]
看来gzdecode仅可用于PHP5.4(这是我使用gzdecode的版本)

从下面的评论中,我在PHP5.3上进行了测试,并且可以正常工作

<?PHP 
function gzdecode($data) 
{ 
    return gzinflate(substr($data,10,-8)); 
} 
?> 

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...