【PHP8.x】gzgetc関数の使い方
作成日: 更新日:
gzgetc関数は、gzopen関数で開かれたGZIPファイルポインタから、1文字を読み込む処理を実行する関数です。この関数は、指定されたファイルポインタの現在位置から1バイトのデータを読み取り、成功するとファイルポインタを次のバイトへ自動的に進めます。基本的な動作は、非圧縮ファイルを扱う標準のfgetc関数と似ていますが、gzgetc関数はGZIP形式で圧縮されたファイルを直接扱える点が特徴です。引数には、gzopen関数を使い読み込みモードで開いた際に返される、有効なファイルポインタを指定する必要があります。関数の返り値は、読み込みに成功した場合はその文字を含む文字列となり、ファイルの終端(EOF)に達した場合や何らかのエラーが発生した場合にはfalse
を返します。ファイルの終わりに達したことを確実に判定するためには、この関数がfalse
を返した際に、gzeof関数を併用して確認することが推奨されます。この関数は、圧縮されたログファイルなどを1文字ずつ解析するような特定の処理で役立ちます。
基本的な使い方
構文(syntax)
<?php
file_put_contents('compress.zlib://data.txt.gz', 'PHP');
$handle = gzopen('data.txt.gz', 'r');
$character_or_false = gzgetc($handle);
gzclose($handle);
unlink('data.txt.gz');
?>
引数(parameters)
resource $stream
- resource $stream: 読み込み対象のzlib圧縮されたファイルストリームリソース
戻り値(return)
string|false
指定されたgzipファイルポインタから1文字を読み込み、その文字を文字列として返します。ファイルの終端に達した場合やエラーが発生した場合はfalseを返します。