【PHP8.x】gzgetc関数の使い方

gzgetc関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

gzgetc関数は、gzopen関数で開かれたGZIPファイルポインタから、1文字を読み込む処理を実行する関数です。この関数は、指定されたファイルポインタの現在位置から1バイトのデータを読み取り、成功するとファイルポインタを次のバイトへ自動的に進めます。基本的な動作は、非圧縮ファイルを扱う標準のfgetc関数と似ていますが、gzgetc関数はGZIP形式で圧縮されたファイルを直接扱える点が特徴です。引数には、gzopen関数を使い読み込みモードで開いた際に返される、有効なファイルポインタを指定する必要があります。関数の返り値は、読み込みに成功した場合はその文字を含む文字列となり、ファイルの終端(EOF)に達した場合や何らかのエラーが発生した場合にはfalseを返します。ファイルの終わりに達したことを確実に判定するためには、この関数がfalseを返した際に、gzeof関数を併用して確認することが推奨されます。この関数は、圧縮されたログファイルなどを1文字ずつ解析するような特定の処理で役立ちます。

構文(syntax)

1<?php
2
3file_put_contents('compress.zlib://data.txt.gz', 'PHP');
4
5$handle = gzopen('data.txt.gz', 'r');
6
7$character_or_false = gzgetc($handle);
8
9gzclose($handle);
10
11unlink('data.txt.gz');
12
13?>

引数(parameters)

resource $stream

  • resource $stream: 読み込み対象のzlib圧縮されたファイルストリームリソース

戻り値(return)

string|false

指定されたgzipファイルポインタから1文字を読み込み、その文字を文字列として返します。ファイルの終端に達した場合やエラーが発生した場合はfalseを返します。

関連コンテンツ