Forum und email

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($fp4096);

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

?>

注意

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

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

参考