そのまんま!

fseek

(PHP 3, PHP 4, PHP 5)

fseek -- ファイルポインタを移動する

説明

int fseek ( resource handle, int offset [, int whence] )

handle が指しているファイルのファイル位置識別子を ファイル・ストリーム中の offset バイト目に セットします。新規位置は、ファイルの先頭からのバイト数で 測られます。これは whence で指定した位置に offset を追加することにより得られます。 この値は、以下のように定義されます。

SEEK_SET - 位置を offset バイト目に設定する
SEEK_CUR - 現在の位置に offset を加えた位置に設定する。
SEEK_END - ファイル終端に offset を加えた位置に設定する (ファイル終端よりも手前に設定する場合、 offset に負の値をセットする必要があります)

whence を指定しない場合、 SEEK_SET が指定されたと仮定します。

成功すると 0 を返し、そうでなければ -1 を返します。EOF より先の 位置にシークしてもエラーとはならないので注意してください。

例 1. fseek() の例

<?php

$fp
= fopen('somefile.txt', 'r');

// データを読み込む
$data = fgets($fp, 4096);

// ファイルの先頭に移動する。
// rewind($fp); と等価。
fseek($fp, 0);

?>

"http://" または "ftp://" フォーマット指定の fopen () により返されたファイルポインタに対しては使わないでください。 fseek() は、("a" フラグ付きでオープンされた) 追加のみ可能なストリームに対する結果も未定義です。

注意: 引数 whence は PHP 4.0.0 以降で追加されました。

注意: 追加モード ("a" or "a+") でファイルをオープンした場合、 ファイル位置によらず、ファイルに書き込むあらゆるデータが追加されます。

ftell() および rewind() も参照ください。