我正在通过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...
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 举报,一经查实,本站将立刻删除。