JavaScript字符串压缩+PHP解压

标签 javascript php string compression jsonp

<分区>

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

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

最佳答案

至于客户端 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)处理一次较小的数据 block 。理想情况下,每个 block 不应让 JS 解释器忙碌超过 100 毫秒,否则您要么会降低 UI 响应能力,要么会遇到丑陋的 JS 超时弹出错误。

关于JavaScript字符串压缩+PHP解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495775/

相关文章:

javascript - 提交后清空表单

javascript - 在 viewDataSource 上使用 StartKey

php - MySql:如何从表中删除具有特定 ID 的行除外的行

python - 如何在 python 中将字符串转换为不同的格式?

string - VBA:如何从数据中删除不可打印的字符

string - 将 ASCII 转换为十六进制

javascript - Jquery 插件 - 基于嵌套选项添加类

javascript - 如何从 Highcharts 导出中删除 'data table' 选项

php - 当 php/mysql if 语句为真时播放声音片段?

php - 如何在MYSQL查询中函数返回值之前和之后添加%