在使用PHP发送之前压缩JSON对象

Eri*_*ric 6 php zip json

我有兴趣在将服务器上的JSON对象传输到请求该对象的移动设备之前压缩文本输出.对txt压缩的小测试将使其尺寸减小约80%!这非常适合移动设备!:)

我根本不需要保存我在服务器上创建的zip文件,只需将它驻留在内存中,然后将其回显.我可以在android端解压缩没问题.

无论如何,我做了一些操作,但我还没有能够提出任何有效的东西,这是我到目前为止所做的:

while($e=mysql_fetch_assoc($q))
   $output[]=$e;
$zip = new ZipArchive();
$zip->addFromString("test",(json_encode($output)));
echo $zip;
Run Code Online (Sandbox Code Playgroud)

我知道我可能做了大量错误的事情,我对php不是很熟悉.我的$ q是一个包含大量sql行的游标,如果我使用print(json_encode($output));而不是所有的zip shenanigans,它可以正常输出原始文本.

我想它不一定是拉链压缩,但任何压缩都会有所帮助,如果你能指出我正确的方向,我可能会想出来.谢谢!

kni*_*ttl 9

你可以用ob_startob_gzhandler:

if(function_exists('ob_gzhandler')) ob_start('ob_gzhandler');
else ob_start();

echo json_encode($output);
ob_end_flush();
Run Code Online (Sandbox Code Playgroud)