PHP 文件通常是纯文本,体积不算小。有时候需要把代码存进数据库、塞进配置文件、通过接口传给别的系统,直接放原文既占地方又容易出问题。这时候把它压缩成一串 Base64 字符就方便多了——体积变小,格式统一,复制粘贴不会乱。
需要的时候再解压还原,代码原样回来。
怎么用?两种方式
手动粘贴——在左边的输入框里贴入 PHP 代码,点"开始压缩",右边就会出现压缩后的 Base64 字符串。
上传文件——把 .php、.inc、.txt、.html 文件拖到深蓝色的框里,或者点一下选择文件。工具会自动读取内容填进输入框,然后点压缩就行。
所有处理都在浏览器本地完成,代码不会上传。
反向操作:解压
把一段 Base64 字符串贴进输入框,点"开始解压",右边就会还原出原始的 PHP 代码。适合从数据库、配置文件里取回来的压缩数据。
几个可调的选项
压缩算法——两种可选:
gzencode——GZIP 格式,兼容性广,通用性强
gzcompress——ZLIB 格式,PHP 里更常用
压缩等级——从 0 到 9:
9(最高压缩率)——文件最小,但慢一些
6(标准均衡)——压缩率和速度的平衡点,默认推荐
1(最快速度)——快,压缩率低
0(不压缩)——只做格式包装,不实际压缩
压缩效果一目了然
处理完之后,下方显示四个数据:
输入数据大小——原始内容多少字节
输出数据大小——处理后多少字节
体积变化率——压缩后占原始大小的百分比,显示成 -XX% 表示压缩了多少
累积处理次数——本次总共处理了几次
如果压缩后反而变大,说明内容太短,压缩的头部数据比省下来的还多,这是正常现象。
几个顺手的细节
载入 Demo 示例——点一下会填入一段示例 PHP 代码,第一次用可以看看效果
复制结果——一键把处理结果复制到剪贴板
重置所有数据——输入输出全部清空
字符数实时统计——输入框和结果框上方实时显示当前内容的字符数
文件大小自动识别——上传文件后会显示文件名和文件大小
适合谁用?
PHP 开发时压缩代码存进数据库,调试接口时处理传输的压缩数据,从配置文件里读取压缩过的代码再还原,研究 GZIP 和 ZLIB 压缩效果,或者单纯想把一段 PHP 代码变小一点。
温馨提示
压缩后的 Base64 字符串是一串纯文本,可以安全地复制粘贴、存进数据库、放进配置文件。压缩和解压要用同一种算法(gzencode 配 gzencode,gzcompress 配 gzcompress),混着来会解不出来。内容太短时压缩反而变大是正常的,不用奇怪。
总结
PHP 代码压成 Base64、Base64 还原成 PHP,gzencode 和 gzcompress 两种算法可选,压缩前后大小对比清楚。代码传输、存储、调试都能用。