服务器端 PHP 压缩文件,客户端JS解压缩

本文探讨了在业务场景中,如何通过PHP服务器端压缩大型JSON数据并使用JavaScript在客户端进行解压缩。文章比较了使用lz-string-php库和PHP内置zlib库(gzcompress/gzencode)结合前端pako.js解压缩的两种方法。尽管lz-string-php提供了压缩功能,但因耗时过长而被放弃,最终选择了效率更高的zlib+前端pako.js方案。
摘要由CSDN通过智能技术生成

       有这样一个业务情景,客户端页面有个请求,PHP服务端返回的json文本数据比较大,一般都是好几MB。为了节省服务器流量以及节约带宽,要在后端将json文本数据压缩后传输到前端,前端Javascript对其进行解压后处理。

先后尝试了好几种方法,但是效果都不太好。现在主要分享以下两种能实现的方式。

方式一:

PHP后端用lz-string-php库压缩,该库有不同的版本可供选择。前端用相应的lz-string库实现解压缩。

该方式可以实现后端压缩前端也能解压,但是后端压缩很耗时,速度非常慢,故此不考虑该方式。

方式二:PHP后端用内置的zlib库的gzcompress()或gzencode()函数压缩,前端用pako.js解压缩。

后端PHP代码如下:

$map_json = '{"ed":"20170121 09:44:01","fs":[{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"003","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"005","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"004",&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值