Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】SEEK_CUR定数の使い方

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

作成日: 更新日:

基本的な使い方

SEEK_CUR定数は、ファイルポインタの移動基準を指定するための定数です。PHPのfseek()関数やstream_seek()関数など、ファイル内の読み書き位置を操作する際に用いられます。この定数を指定すると、ファイルポインタの移動は、現在のファイルポインタ位置を基準として行われます。

具体的には、fseek($handle, $offset, SEEK_CUR)のように使用した場合、$offsetで指定されたバイト数だけ、現在の位置から前または後ろにポインタが移動します。$offsetが正の値であれば現在の位置からファイルの後方へ、負の値であればファイルの前方へ移動します。例えば、現在の位置から50バイト先に移動したい場合はfseek($handle, 50, SEEK_CUR)と記述し、現在の位置から20バイト手前に戻りたい場合はfseek($handle, -20, SEEK_CUR)と記述します。

SEEK_CURは、ファイルを順次読み進めている途中で、一時的に特定のバイト数だけスキップしたり、あるいは読み戻したりして、現在の作業位置を基準に柔軟な操作を行いたい場合に特に役立ちます。ファイルポインタの移動基準には他にも、ファイルの先頭からのオフセットを指定するSEEK_SET定数や、ファイルの末尾からのオフセットを指定するSEEK_END定数があります。これらの定数を適切に使い分けることで、ファイル内のあらゆる位置へ効率的にアクセスし、多様なデータ処理を実現することが可能です。SEEK_CURは、ファイルの内容をストリームとして扱う際に、非常に重要な役割を果たす定数の一つです。

構文(syntax)

1<?php
2$file = fopen('example.txt', 'r');
3fseek($file, 10, SEEK_CUR);
4fclose($file);
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ