8、压缩字符串
在谈到压缩时,我们通常想到文件压缩,如 ZIP 压缩等。在 PHP 中字符串压缩也是可能的,但不涉及任何压缩文件。在下面的例子中,我们要利用 gzcompress() 和 gzuncompress() 函数:
$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut elit id mi ultricies adipiscing. Nulla facilisi. Praesent pulvinar, sapien vel feugiat vestibulum, nulla dui pretium orci, non ultricies elit lacus quis ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pretium ullamcorper urna quis iaculis. Etiam ac massa sed turpis tempor luctus. Curabitur sed nibh eu elit mollis congue. Praesent ipsum diam, consectetur vitae ornare a, aliquam a nunc. In id magna pellentesque tellus posuere adipiscing. Sed non mi metus, at lacinia augue. Sed magna nisi, ornare in mollis in, mollis sed nunc. Etiam at justo in leo congue mollis. Nullam in neque eget metus hendrerit scelerisque eu non enim. Ut malesuada lacus eu nulla bibendum id euismod urna sodales. ";
$compressed = gzcompress($string);
echo "Original size: ". strlen($string)."\n"; /* prints Original size: 800 */
echo "Compressed size: ". strlen($compressed)."\n"; /* prints Compressed size: 418 */
// getting it back $original = gzuncompress($compressed);
这种操作的压缩率能达到 50% 左右。另外的函数 gzencode() 和 gzdecode() 能达到类似结果,通过使用不同的压缩算法。
9、注册停止功能
有一个函数叫做 register_shutdown_function(),可以让你在某段脚本完成运行之前,执行一些指定代码。假设你需要在脚本执行结束前捕获一些基准统计信息,例如运行的时间长度:
// capture the start time $start_time = microtime(true);
// do some stuff // ...
// display how long the script took echo "execution took: ". (microtime(true) - $start_time). " seconds.";
这似乎微不足道,你只需要在脚本运行的最后添加相关代码。但是如果你调用过 exit() 函数,该代码将无法运行。此外,如果有一个致命的错误,或者脚本被用户意外终止,它可能无法再次运行。当你使用 register_shutdown_function() 函数,代码将继续执行,不论脚本是否停止运行:
$start_time = microtime(true);
register_shutdown_function('my_shutdown');
// do some stuff // ...
function my_shutdown() { global $start_time;
echo "execution took: ". (microtime(true) - $start_time). " seconds."; }
英文原稿:9 Useful PHP Functions and Features You Need to Know | Nettuts 翻译整理:9 个必须知道的实用 PHP 函数和功能 | 芒果
本文链接:http://www.blueidea.com/tech/program/2010/7564.asp
出处:蓝色理想
责任编辑:bluehearts
上一页 9个必须知道的实用PHP函数和功能 [4] 下一页
◎进入论坛网络编程版块参加讨论
|