JavaScript字符串压缩+ PHP解压缩

Sfi*_*oza 6 javascript php compression string jsonp

我正在寻找一种在JavaScript中压缩字符串,使用GET(jsonp)发送和使用PHP解压缩的解决方案。最好的办法是拥有快速的代码和良好的压缩率。

我已经找到了lz-string库,但是看起来它没有PHP后端。还有其他类似的库或lz-string的PHP实现吗?

Ser*_*gio 0

至于客户端 javascript 压缩,请检查这个 deflate 实现:

https://github.com/dankogai/js-deflate

要解压 PHP 端,您只需要 gzinflate()

陷阱

  1. 如果您想将压缩数据从客户端 POST 到服务器,最好先对其进行 Base64 编码。在服务器端,您必须调用 gzinflate(base64_decode($post_body));

  2. javascript deflate 实现或 PHP inflate 实现都不是 100% 正确,有时(很少见)gzinflate 返回错误。这意味着如果您沿着这条路走下去,您应该有一些后备机制,例如:尝试发布压缩数据。如果失败则回退到未压缩的数据。

  3. 保持较低的压缩级别,否则你一定会遇到 JavaScript 超时错误

  4. 如果您计划压缩大量数据(100+ KB),也许在较旧的浏览器(IE <= 9)上,您将需要拆分主 deflate 循环,以便它异步(使用 setTimeout)处理较小的数据块时间。理想情况下,每个块都不应该让 JS 解释器忙碌超过 100 毫秒,否则你要么会降低 UI 响应能力,要么会遇到难看的 JS 超时弹出错误。