Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fseek(3) [php man page]

FSEEK(3)								 1								  FSEEK(3)

fseek - Seeks on a file pointer

SYNOPSIS
int fseek (resource $handle, int $offset, [int $whence = SEEK_SET]) DESCRIPTION
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. PARAMETERS
o $handle -A file system pointer resource that is typically created using fopen(3). o $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. o $whence -$whence values are: o SEEK_SET - Set position equal to $offset bytes. o SEEK_CUR - Set position to current location plus $offset. o SEEK_END - Set position to end-of-file plus $offset. RETURN VALUES
Upon success, returns 0; otherwise, returns -1. EXAMPLES
Example #1 fseek(3) 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, and the result of calling fseek(3) 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. SEE ALSO
ftell(3), rewind(3). PHP Documentation Group FSEEK(3)

Check Out this Related Man Page

FSEEK(3)						     Linux Programmer's Manual							  FSEEK(3)

NAME
fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream SYNOPSIS
#include <stdio.h> int fseek(FILE *stream, long offset, int whence); long ftell(FILE *stream); void rewind(FILE *stream); int fgetpos(FILE *stream, fpos_t *pos); int fsetpos(FILE *stream, fpos_t *pos); DESCRIPTION
The fseek() function sets the file position indicator for the stream pointed to by stream. The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the start of the file, the current position indicator, or end-of-file, respectively. A successful call to the fseek() function clears the end-of-file indicator for the stream and undoes any effects of the ungetc(3) function on the same stream. The ftell() function obtains the current value of the file position indicator for the stream pointed to by stream. The rewind() function sets the file position indicator for the stream pointed to by stream to the beginning of the file. It is equivalent to: (void) fseek(stream, 0L, SEEK_SET) except that the error indicator for the stream is also cleared (see clearerr(3)). The fgetpos() and fsetpos() functions are alternate interfaces equivalent to ftell() and fseek() (with whence set to SEEK_SET), setting and storing the current value of the file offset into or from the object referenced by pos. On some non-Unix systems an fpos_t object may be a complex object and these routines may be the only way to portably reposition a text stream. RETURN VALUE
The rewind() function returns no value. Upon successful completion, fgetpos(), fseek(), fsetpos() return 0, and ftell() returns the cur- rent offset. Otherwise, -1 is returned and errno is set to indicate the error. ERRORS
EBADF The stream specified is not a seekable stream. EINVAL The whence argument to fseek() was not SEEK_SET, SEEK_END, or SEEK_CUR. The functions fgetpos(), fseek(), fsetpos(), and ftell() may also fail and set errno for any of the errors specified for the routines fflush(3), fstat(2), lseek(2), and malloc(3). CONFORMING TO
C89, C99. SEE ALSO
lseek(2), fseeko(3) COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
1993-11-29 FSEEK(3)
Man Page