©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.1.0)
SplFileObject::fseek — Seek to a position
$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 SplFileInfo ( "somefile.txt" );
// Read first line
$data = $file -> fgets ();
// Move back to the beginning of the file
// Same as $file->rewind();
$file -> fseek ( 0 );
?>
[#1] wangbuying at gmail dot com [2013-08-28 11:25:35]
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();
?>