- PHP Basics
- Learn PHP
- PHP Comments
- PHP Data Types
- PHP Variables
- PHP Operators
- PHP echo
- PHP print
- PHP echo vs. print
- PHP if else
- PHP switch
- PHP for Loop
- PHP while Loop
- PHP do...while Loop
- PHP foreach Loop
- PHP break and continue
- PHP Arrays
- PHP print_r()
- PHP unset()
- PHP Strings
- PHP Functions
- PHP File Handling
- PHP File Handling
- PHP Open File
- PHP Create a File
- PHP Write to File
- PHP Read File
- PHP feof()
- PHP fgetc()
- PHP fgets()
- PHP Close File
- PHP Delete File
- PHP Append to File
- PHP Copy File
- PHP file_get_contents()
- PHP file_put_contents()
- PHP file_exists()
- PHP filesize()
- PHP Rename File
- PHP fseek()
- PHP ftell()
- PHP rewind()
- PHP disk_free_space()
- PHP disk_total_space()
- PHP Create Directory
- PHP Remove Directory
- PHP Get Files/Directories
- PHP Get filename
- PHP Get Path
- PHP filemtime()
- PHP file()
- PHP include()
- PHP require()
- PHP include() vs. require()
- PHP and MySQLi
- PHP and MySQLi
- PHP MySQLi Setup
- PHP MySQLi Create DB
- PHP MySQLi Create Table
- PHP MySQLi Connect to DB
- PHP MySQLi Insert Record
- PHP MySQLi Update Record
- PHP MySQLi Fetch Record
- PHP MySQLi Delete Record
- PHP MySQLi SignUp Page
- PHP MySQLi LogIn Page
- PHP MySQLi Store User Data
- PHP MySQLi Close Connection
- PHP Misc Topics
- PHP Object Oriented
- PHP new Keyword
- PHP Cookies
- PHP Sessions
- PHP Date and Time
- PHP GET vs. POST
- PHP File Upload
- PHP Image Processing
PHP fseek() | Move File Pointer
The PHP fseek() function is used when we need to move the file pointer to particular position in the file. For example:
<?php
$file = "fresherearth.txt";
$fp = fopen($file, "r");
$line = fgets($fp);
echo $line;
echo "<br>";
fseek($fp, 0); // moves file pointer to beginning
$line = fgets($fp);
echo $line;
fclose($fp);
?>
The output of above PHP example on fseek() function is:
Note - Using the fseek() function, we can move file pointer to required position, using number of bytes from starting. For example: use 0 to put file pointer to the beginning of the file, 12 to put file pointer 12 character forward from the beginning of the file. To put file pointer at the end of file, you can use filesize(file).
Note - The filesize() returns the size of file.
PHP fseek() Syntax
The syntax of fseek() function in PHP, is:
fseek(filePointer, numberOfBytes, whence)
The first two parameters (filePointer and numberOfBytes) are required, whereas the last parameter is optional.
Note - The filePointer parameter specifies the pointer to file
Note - The numberOfBytes parameter specifies the number of bytes to move the file pointer from the beginning of the file
Note - The whence parameter is used when we need to force the fseek(), not to seek the file pointer from the beginning, rather to seek from either the current position or from the end of the file. Here are the list of values, used to define whence parameter:
- SEEK_SET - This is the default value, that is used to utilize fseek() as usual
- SEEK_CUR - Used when we need to move the file pointer to given number of bytes, from its current position, not from the beginning of the file
- SEEK_END - Used when we need to move the file pointer to given number of bytes, from end of the file, instead of beginning. The value of numberOfBytes in this case, must be a negative value
PHP Move File Pointer from its Current Position
Before creating an example, let's take a snapshot of the file say fresherearth.txt that is going to use:
Now here is an example on seeking a file pointer from its current position, instead of beginning
<?php $file = "fresherearth.txt"; $fp = fopen($file, "r"); if($fp) { $line = fgets($fp); echo $line; echo "<br>"; fseek($fp, 7, SEEK_CUR); $line = fgets($fp); echo $line; fclose($fp); } else echo "<p>Unable to open the file</p>"; ?>
The output of above PHP example should be:
See the output, all the 7 characters, that are What's including a space got skipped.
PHP Move File Pointer from the End of File
<?php $file = "fresherearth.txt"; $fp = fopen($file, "r"); if($fp) { $line = fgets($fp); echo $line; echo "<br>"; fseek($fp, -8, SEEK_END); $line = fgets($fp); echo $line; fclose($fp); } else echo "<p>Unable to open the file</p>"; ?>
The output of above PHP example, should be:
« Previous Tutorial Next Tutorial »