微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)); 
} 
?> 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐