PHP fseek() Function

The fseek() function seeks in an open file.This function moves the file pointer from its current position to a new position, forward or backward, specified by the number of bytes.This function returns 0 on success, or -1 on failure. Seeking past EOF will not generate an error.

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

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.

Example -

ParameterDescription
fileRequired. Specifies the open file to seek in
offsetRequired. Specifies the new position (measured in bytes from the beginning of the file)
whenceOptional. (added in PHP 4). Possible values : -
  • SEEK_SET - Set position equal to offset. Default
  • SEEK_CUR - Set position to current location plus offset
  • SEEK_END - Set position to EOF plus offset (to move to a position before EOF, the offset must be a negative value)
  • Note

    f you have opened the file in append (a or a+) 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.

    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.