函式名:inflate_get_read_len()
適用版本:PHP 7.0.0 及以上版本
用法:inflate_get_read_len() 函式用於獲取 zlib 解壓縮流的讀取長度。它返回一個整數,表示當前 zlib 解壓縮流的讀取長度。
示例:
<?php
// 建立一個 zlib 壓縮的字串
$compressedData = gzcompress("Hello, World!");
// 建立一個解壓縮流
$stream = inflate_init(ZLIB_ENCODING_GZIP);
// 解壓縮流的讀取長度
$readLen = inflate_get_read_len($stream);
echo "讀取長度:".$readLen."\n";
// 解壓縮流的讀取
$uncompressedData = inflate_add($stream, $compressedData, ZLIB_NO_FLUSH);
echo "解壓縮後的資料:".$uncompressedData."\n";
// 再次獲取解壓縮流的讀取長度
$readLen = inflate_get_read_len($stream);
echo "讀取長度:".$readLen."\n";
// 關閉解壓縮流
inflate_end($stream);
?>
輸出:
讀取長度:0
解壓縮後的資料:Hello, World!
讀取長度:0
在上面的示例中,我們首先建立了一個 zlib 壓縮的字串,然後使用 inflate_init()
函式建立了一個解壓縮流。使用 inflate_get_read_len()
函式獲取瞭解壓縮流的讀取長度,初始值為 0。
接下來,我們使用 inflate_add()
函式將壓縮資料新增到解壓縮流中,並透過設定 ZLIB_NO_FLUSH
引數來指示不進行重新整理操作。然後,我們再次使用 inflate_get_read_len()
函式獲取解壓縮流的讀取長度,仍然為 0。
最後,我們使用 inflate_end()
函式關閉解壓縮流。
請注意,inflate_get_read_len()
函式只能在使用 inflate_add()
函式之前和之後呼叫,並且在呼叫 inflate_end()
函式之前呼叫它是無效的。