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)); 
} 
?> 
上一篇:通过PHP解压缩.gz文件


下一篇:安全-用gzip压缩所有内容的危险是什么?