fseek
(PHP 4, PHP 5)
fseek — ファイルポインタを移動する
説明
int fseek
( resource $handle
, int $offset
[, int $whence
] )
handle が指しているファイルのファイル位置識別子を ファイル・ストリーム中の offset バイト目に セットします。新規位置は、ファイルの先頭からのバイト数で 測られます。これは whence で指定した位置に offset を追加することにより得られます。
パラメータ
- handle
-
fopen() を使用して作成したファイルシステムポインタリソース。
- offset
-
オフセット。
ファイルの終端から数えた位置に移動するには、負の値を offset に渡す必要があります。
- whence
-
whence の値は以下のようになります。
- SEEK_SET - 位置を offset バイト目に設定する
- SEEK_CUR - 現在の位置に offset を加えた位置に設定する
- SEEK_END - ファイル終端に offset を加えた位置に設定する
whence を指定しない場合、 SEEK_SET が指定されたと仮定します。
返り値
成功すると 0 を返し、そうでなければ -1 を返します。EOF より先の位置にシークしてもエラーとはならないので注意してください。
例
Example#1 fseek() の例
<?php
$fp = fopen('somefile.txt', 'r');
// データを読み込む
$data = fgets($fp, 4096);
// ファイルの先頭に移動する。
// rewind($fp); と等価。
fseek($fp, 0);
?>
注意
注意: 追加モード ("a" or "a+") でファイルをオープンした場合、 ファイル位置によらず、ファイルに書き込むあらゆるデータが追加されます。
注意: "https://" または "ftp://" フォーマット指定の fopen () により返されたファイルポインタに対しては使わないでください。 fseek() は、("a" フラグ付きでオープンされた) 追加のみ可能なストリームに対する結果も未定義です。