# fseek

(PHP 4, PHP 5)

fseek — Seeks on a file pointer

### Description

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

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` .

### Parameters

`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` .

`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`.

### Return Values

Upon success, returns 0; otherwise, returns -1. Note that seeking past EOF is not considered an error.

### Examples

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);
?>`

### Notes

> Note: If 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.

> Note: May not be used on file pointers returned by fopen() if they use the "http://" or "ftp://" formats. fseek() gives also undefined results for append-only streams (opened with "a" flag).

### See Also

- ftell()
- rewind()