PHP が受信した POST で Web ページに大量のテキストを送信しています。約 500kb ~ 1.5mb です。これに関する問題は、それが非常に反復的なデータであり、圧縮したいということです。データは、「123,123,123,124,124,124,125,126... など」のようになります。
メソッド gzipInflate および gzipDeflate を含むGeoggrey Garside http://cocoadev.com/wiki/NSDataCategoryによる NSData+Compression ライブラリを見つけ、 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
どんな助けでも大歓迎です!