8、壓縮字符串
在談到壓縮時,我們通常想到文件壓縮,如 ZIP 壓縮等。在 PHP 中字符串壓縮也是可能的,但不涉及任何壓縮文件。在下面的例子中,我們要利用 gzcompress() 和 gzuncompress() 函數(shù):
$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% 左右。另外的函數(shù) gzencode() 和 gzdecode() 能達到類似結(jié)果,通過使用不同的壓縮算法。
9、注冊停止功能
有一個函數(shù)叫做 register_shutdown_function(),可以讓你在某段腳本完成運行之前,執(zhí)行一些指定代碼。假設(shè)你需要在腳本執(zhí)行結(jié)束前捕獲一些基準統(tǒng)計信息,例如運行的時間長度:
// 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.";
這似乎微不足道,你只需要在腳本運行的最后添加相關(guān)代碼。但是如果你調(diào)用過 exit() 函數(shù),該代碼將無法運行。此外,如果有一個致命的錯誤,或者腳本被用戶意外終止,它可能無法再次運行。當你使用 register_shutdown_function() 函數(shù),代碼將繼續(xù)執(zhí)行,不論腳本是否停止運行:
$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 函數(shù)和功能 | 芒果
本文鏈接:http://www.95time.cn/tech/program/2010/7564.asp
出處:藍色理想
責任編輯:bluehearts
上一頁 9個必須知道的實用PHP函數(shù)和功能 [4] 下一頁
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|