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

作成日: 更新日:

gzfile関数は、gzip形式で圧縮されたファイルを読み込み、その内容を行ごとに配列の要素として返す関数です。この関数を使用することで、gzip形式で圧縮されたテキストファイルやログファイルなどの内容を、事前に手動で解凍することなく、PHPスクリプト内で直接処理できます。

この関数は、読み込みたいgzip圧縮ファイルのパスを引数として受け取ります。例えば、data.gzというファイルを指定すると、関数はそのファイルを開き、各行を個別の文字列として取得します。正常に処理が完了すると、ファイルの各行が配列の1つの要素として格納された配列が戻り値として返されます。各要素には、行の末尾にある改行文字が含まれたままです。

もし指定されたファイルが存在しない場合や、読み込み権限がない場合、あるいはファイルが有効なgzip形式ではないなどの問題が発生した場合は、関数はfalseを返します。したがって、gzfile関数を呼び出した後には、戻り値がfalseでないかを必ず確認し、エラーが発生した場合の処理を適切に実装することが重要です。これにより、圧縮ファイルのコンテンツを安全かつ効率的にプログラムで利用できるようになります。

基本的な使い方

構文(syntax)

<?php
$filename = 'path/to/your/file.gz';
$lines = gzfile($filename);
?>

引数(parameters)

string $filename, int $use_include_path = 0, ?resource $context = null

  • string $filename: 読み込むgzip圧縮されたファイルの名前を指定します。
  • int $use_include_path = 0: include_path を使用してファイルを探すかどうかを指定します。0は使用しない、1は使用することを意味します。
  • ?resource $context = null: ストリームコンテキストを指定します。指定しない場合は null になります。

戻り値(return)

array|false

指定されたファイルの内容を配列として返します。エラーが発生した場合は false を返します。

【PHP8.x】gzfile関数の使い方 | いっしー@Webエンジニア