PHP字符串压缩

在PHP中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:

压缩函数:gzcompress gzdeflate gzencode

与之对应的解压函数如下:

解压函数:gzuncompress gzinflate gzdecode

特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。

gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:

gzcompress使用的是ZLIB格式;//压缩率居中

gzdeflate使用的是纯粹的DEFLATE格式;//压缩率最高           bzcompress ( $str ,  9 );压缩率并列最高

gzencode使用的是GZIP格式;//压缩率最低

用一段代码测试一下看看

<?php
$test_string="123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789";
var_dump($test_string);//原字符串长度

var_dump(gzcompress($test_string));//gzcompress压缩后
var_dump(gzdeflate($test_string));//gzdeflate压缩后
var_dump(gzencode($test_string));//gzencode压缩后

var_dump(gzuncompress(gzcompress($test_string)));//gzcompress压缩后再解压缩回来
var_dump(gzinflate(gzdeflate($test_string)));//gzdeflate压缩后再解压缩回来
var_dump(gzdecode(gzencode($test_string)));//gzencode压缩后再解压缩回来

运行结果:

 

转载于:https://www.cnblogs.com/7qin/p/10703746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP 中,您可以使用以下函数对字符串进行压缩和解压缩: 1. gzcompress() 和 gzuncompress() 函数:使用 gzip 压缩算法对字符串进行压缩和解压缩。 ```php $compressed = gzcompress($string); // 对 $string 进行压缩 $original = gzuncompress($compressed); // 解压缩 $compressed ``` 2. gzencode() 和 gzdecode() 函数:类似于 gzcompress() 和 gzuncompress() 函数,但使用的是 zlib 压缩算法。 ```php $encoded = gzencode($string); // 对 $string 进行压缩 $original = gzdecode($encoded); // 解压缩 $encoded ``` 在 PHP 中,您还可以使用以下函数对字符串进行加密和解密: 1. openssl_encrypt() 和 openssl_decrypt() 函数:使用 OpenSSL 库中的加密算法对字符串进行加密和解密。 ```php $encrypted = openssl_encrypt($string, "AES-256-CBC", $key, 0, $iv); // 使用 AES-256-CBC 加密算法对 $string 进行加密 $decrypted = openssl_decrypt($encrypted, "AES-256-CBC", $key, 0, $iv); // 解密 $encrypted ``` 其中,$key 和 $iv 是加密过程中使用的密钥和初始化向量。 2. mcrypt_encrypt() 和 mcrypt_decrypt() 函数:类似于 openssl_encrypt() 和 openssl_decrypt() 函数,但使用的是 mcrypt 库中的加密算法。 ```php $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $string, MCRYPT_MODE_CBC, $iv); // 使用 Rijndael-128 加密算法对 $string 进行加密 $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv); // 解密 $encrypted ``` 其中,$key 和 $iv 是加密过程中使用的密钥和初始化向量。请注意,mcrypt 库已被弃用,不建议使用。建议使用 OpenSSL 库中的加密算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值