當需要將長文本(如文章內容、日誌)壓縮後存入資料庫以節省空間時,可啟用 PHP zlib 擴展,使用 gzcompress() 壓縮、gzuncompress() 解壓。資料庫欄位類型建議用 BLOB 或 VARBINARY 儲存二進制資料。
php.ini 中啟用:extension=php_zlib.dll(Windows)或 extension=zlib.so(Linux)。
<?php
$x = "hello world";
$x = gzcompress($x); // 壓縮
echo $x . "<br>";
echo gzuncompress($x); // 解壓
?>
$compressed = gzcompress($long_text); → 存入 BLOB 欄位。$original = gzuncompress($blob_data);。LIKE 搜尋,需先解壓或另建全文索引欄位。gzencode()/gzdecode() 輸出標準 gzip 檔案格式(含檔頭),適合檔案下載;gzcompress()/gzuncompress() 為 ZLIB 格式,資料較精簡,適合資料庫儲存。