我有兴趣在将服务器上的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,它可以正常输出原始文本.
我想它不一定是拉链压缩,但任何压缩都会有所帮助,如果你能指出我正确的方向,我可能会想出来.谢谢!
你可以用ob_start与ob_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)