<分区>
我正在寻找一种解决方案来压缩 JavaScript 中的字符串,使用 GET (jsonp) 发送它,然后使用 PHP 解压回来。最好的办法是拥有快速的代码和良好的压缩。
我找到了 lz-string库,但看起来它没有 PHP 后端。 lz-string 的任何其他类似库或 PHP 实现?
<分区>
我正在寻找一种解决方案来压缩 JavaScript 中的字符串,使用 GET (jsonp) 发送它,然后使用 PHP 解压回来。最好的办法是拥有快速的代码和良好的压缩。
我找到了 lz-string库,但看起来它没有 PHP 后端。 lz-string 的任何其他类似库或 PHP 实现?
最佳答案
至于客户端 javascript 压缩,检查这个 deflate 实现:
https://github.com/dankogai/js-deflate
要解压缩 PHP 端,您只需要 gzinflate()
陷阱
如果您想将压缩数据从客户端 POST 到服务器,最好先对其进行 base64 编码。 在服务器端,您必须调用 gzinflate(base64_decode($post_body));
javascript deflate 实现或 PHP inflate 实现都不是 100% 正确,有时,gzinflate 会返回错误,但很少见。这意味着如果你沿着这条路走下去,你应该有一些后备机制,比如:尝试发布压缩数据。如果无法回退到未压缩的数据。
保持压缩级别较低,否则您一定会遇到 javascript 超时错误
如果您计划压缩大量数据 (100+ KB),可能在较旧的浏览器 (IE <=9) 上,您需要拆分主 deflate 循环,以便它异步(使用 setTimeout)处理一次较小的数据 block 。理想情况下,每个 block 不应让 JS 解释器忙碌超过 100 毫秒,否则您要么会降低 UI 响应能力,要么会遇到丑陋的 JS 超时弹出错误。
关于JavaScript字符串压缩+PHP解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495775/