(PHP 4, PHP 5, PHP 7)
fseek — Seeks on a file pointer
fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int
Sets the file position indicator for the file referenced by handle
. The new position, measured in bytes from the beginning of the file, is obtained by adding offset
to the position specified by whence
.
In general, it is allowed to seek past the end-of-file; if data is then written, reads in any unwritten region between the end-of-file and the sought position will yield bytes with value 0. However, certain streams may not support this behavior, especially when they have an underlying fixed size storage.
handle
A file system pointer resource that is typically created using fopen().
offset
The offset.
To move to a position before the end-of-file, you need to pass a negative value in offset
and set whence
to SEEK_END
.
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
.Upon success, returns 0; otherwise, returns -1.
Example #1 fseek() example
<?php $fp = fopen('somefile.txt', 'r'); // read some data $data = fgets($fp, 4096); // move back to the beginning of the file // same as rewind($fp); fseek($fp, 0); ?>
Note:
If you have opened the file in append (
a
ora+
) mode, any data you write to the file will always be appended, regardless of the file position, and the result of calling fseek() will be undefined.
Note:
Not all streams support seeking. For those that do not support seeking, forward seeking from the current position is accomplished by reading and discarding data; other forms of seeking will fail.
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.fseek.php