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

作成日: 更新日:

gzseek関数は、gzip形式で圧縮されたファイルの読み書き位置(ファイルポインタ)を移動させる関数です。この関数は、gzopen()関数によって開かれたgzip圧縮ファイルリソースに対して使用され、ファイル内の特定の場所からデータを読み込んだり、書き込んだりする際に、現在の読み書き位置を変更する目的で利用されます。

この関数は主に三つの引数を取ります。最初の引数には、gzopen()で開かれたgzipファイルのリソースを指定します。二番目の引数には、ファイルポインタを移動させるバイト数を示すオフセット値を指定します。そして三番目の引数には、オフセットの基準となる位置を指定します。この基準は、ファイルの先頭を意味するSEEK_SET、現在のファイルポインタの位置を意味するSEEK_CUR、またはファイルの末尾を意味するSEEK_ENDのいずれかを選択できます。

正常にファイルポインタの移動が完了した場合、この関数はファイルの先頭から数えた新しいファイルポインタの位置を整数で返します。もしファイルポインタの移動に失敗した場合は、-1が返されます。これにより、圧縮された大きなファイルの中から必要な部分だけを効率的に検索したり、特定の場所にデータを書き込んだりすることが可能になります。

基本的な使い方

構文(syntax)

gzseek(GdGzFile|resource $stream, int $offset, int $whence = SEEK_SET): int

引数(parameters)

resource $stream, int $offset, int $whence = SEEK_SET

  • resource $stream: 圧縮ストリームリソースを指定します
  • int $offset: 移動するバイト数を指定します
  • int $whence = SEEK_SET: 移動の基準位置を指定します

戻り値(return)

int

指定されたファイルポインタの位置への移動が成功した場合は 0 を、失敗した場合は -1 を返します。

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