在php.net网站上有很多压缩选项:
- Bzip2
- LZF Phar
- Rar Zip
- Zlib
我在寻找最好的选择。换句话说,哪个是斋戒?
我也在考虑把文件分成多个。
我考虑将文件重新格式化为一个巨大的字符串,然后使用PHP脚本在一定数量的字符后拆分字符串。但我不确定这是最快的方法。
要将文件放入字符串,我正在考虑使用base64_encode…这是最好的方法吗?
提前感谢您的提示和帮助
base64_encode()将使字符串变长,而不是变短。它的设计目的是获取二进制数据,并将其转换为可打印的7位ASCII码。
UPDATE:如果你正在压缩文件供用户下载,那么你制作更小的文件比快速完成更重要。根据我的经验,PHP中的Bzip2(或类似的命令行)通常产生较小的文件。
你是在为网站或其他东西自动化这个过程吗?Unix提供了一些非常棒的命令行工具(tar
、split
、gzip
等),它们完全可以完成您在这里讨论的所有事情。
tar + bz2应该是最有效的压缩。但是在压缩/解压缩(特别是在bzip2上使用——best argument)时,它带来了CPU使用成本