PHP Conference Japan 2024

gzgets

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgets從檔案指標取得一行

說明

gzgets(資源 $stream, ?int $length = null): 字串|false

從指定的檔案指標讀取最多 length - 1 個位元組的(未壓縮)字串。讀取在讀取到 length - 1 個位元組、換行符號或檔案結尾(EOF)時結束(以先發生的為準)。

參數

stream

gz 檔案指標。它必須有效,並且必須指向一個由 gzopen() 成功開啟的檔案。

length

要取得的資料長度。

回傳值

解壓縮後的字串,或是在發生錯誤時回傳 false

更新日誌

版本 說明
8.0.0 length 現在可以為 null;之前,預設值為 1024

範例

範例 #1 gzgets() 範例

<?php
$handle
= gzopen('somefile.gz', 'r');
while (!
gzeof($handle)) {
$buffer = gzgets($handle, 4096);
echo
$buffer;
}
gzclose($handle);
?>

另請參閱

新增註解

使用者貢獻的註解 3 則註解

prismngp1 at yahoo dot com
22 年前
<?
// 這是 VIJAY 撰寫的用於解壓縮 .gz 檔案的簡單程式碼
$file = "/absolute/path/to/your/file" ;
$fp = fopen("$file", "w") ;
// 要在您的伺服器上解壓縮的檔案
$filename = "filename.gz" ;
$zp = gzopen($filename, "r");

if ($zp)
{
while (!gzeof($zp))
{
$buff1 = gzgets ($zp, 4096) ;
fputs($fp, $buff1) ;
}
}
gzclose($zp) ;
fclose($fp) ;
?>
divinity76 at gmail dot com
5 年前
備註:當遇到換行位元組 ("\n") 並在其上斷行時,換行位元組本身不會包含在回傳的字串中。
匿名
19 年前
對於 VIJAY 的上述範例,使用 gzgetc 會更好,因為我遇到二進位/文字檔案不相容的問題(至少在 PHP 4.0.4 中是如此)。
To Top