SplFileObject::fseek

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fseekSeek to a position

说明

public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )

Seek to a position in the file measured in bytes from the beginning of the file, obtained by adding offset to the position specified by whence.

参数

offset

The offset. A negative value can be used to move backwards through the file which is useful when SEEK_END is used as the whence value.

whence

whence values are:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

If whence is not specified, it is assumed to be SEEK_SET.

返回值

Returns 0 if the seek was successful, -1 otherwise. Note that seeking past EOF is not considered an error.

范例

Example #1 SplFileObject::fseek() example

<?php
$file 
= new SplFileObject("somefile.txt");

// Read first line
$data $file->fgets();

// Move back to the beginning of the file
// Same as $file->rewind();
$file->fseek(0);
?>

参见

  • fseek() - 在文件指针中定位

User Contributed Notes

wangbuying at gmail dot com 28-Aug-2013 08:25
make sure you know this fseek in SplFileObject is different from \fseek.
Argument for fseek in SplFileObject is the line number, not the bytes.
Example:
<?php
$fp
= new SplFileObject('./fseek.txt', 'rb');
$fp->fseek(70); // now go to line 70, not byte 70
echo $fp->fgets();
?>