2024 年 PHP Conference Japan

範例

此範例開啟一個暫存檔並將測試字串寫入其中,然後將此檔案的內容印出兩次。

範例 #1 小型 Zlib 範例

<?php

$filename
= tempnam('/tmp', 'zlibtest') . '.gz';
echo
"<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// 開啟檔案以進行最大壓縮寫入
$zp = gzopen($filename, "w9");

// 將字串寫入檔案
gzwrite($zp, $s);

// 關閉檔案
gzclose($zp);

// 開啟檔案以進行讀取
$zp = gzopen($filename, "r");

// 讀取 3 個字元
echo gzread($zp, 3);

// 輸出直到檔案結尾並關閉它。
gzpassthru($zp);
gzclose($zp);

echo
"\n";

// 開啟檔案並印出內容(第二次)。
if (readgzfile($filename) != strlen($s)) {
echo
"zlib 函式發生錯誤!";
}
unlink($filename);
echo
"</pre>\n</body>\n</html>\n";

?>

範例 #2 使用增量壓縮和解壓縮 API

<?php
// 執行 GZIP 壓縮:
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
$compressed = deflate_add($deflateContext, "Data to compress", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", more data", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", and even more data!", ZLIB_FINISH);

// 執行 GZIP 解壓縮:
$inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
echo
$uncompressed;
?>

以上範例會輸出

Data to compress, more data, and even more data!
新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top