- 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 exit()
- PHP exit() vs. break
- PHP isset()
- 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 mysqli Tutorial
- PHP mysqli Tutorial
- PHP and MySQL Setup
- PHP mysqli: Create Database
- PHP mysqli: Create Table
- 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 Functions
- PHP mysqli_connect()
- PHP mysqli_close()
- PHP mysqli_connect_errno()
- PHP mysqli_connect_error()
- PHP mysqli_query()
- PHP mysqli_fetch_row()
- PHP mysqli_fetch_assoc()
- PHP mysqli_fetch_array()
- PHP mysqli_free_result()
- PHP mysqli_error()
- PHP mysqli_prepare()
- PHP mysqli_stmt_bind_param()
- PHP mysqli_stmt_execute()
- PHP mysqli_stmt_fetch()
- PHP mysqli_stmt_store_result()
- PHP mysqli_stmt_num_rows()
- PHP mysqli_stmt_bind_result()
- PHP mysqli_stmt_get_result()
- PHP mysqli_result class
- PHP mysqli_report()
- PHP error_reporting()
- PHP mysqli_real_escape_string()
- PHP htmlspecialchars()
- PHP Misc Topics
- PHP Object Oriented
- PHP new Keyword
- PHP header()
- PHP getallheaders()
- PHP Cookies
- PHP Sessions
- PHP Date and Time
- PHP GET vs. POST
- PHP File Upload
- PHP Image Processing
PHP ftell(): Find Current Position of File Pointer
The PHP ftell() function is used when we need to find the current position of the file pointer in the file. For example:
<?php $file = "codescracker.txt"; $fp = fopen($file, "r"); $character = fgetc($fp); echo $character; $currentPos = ftell($fp); echo "<br>The current position of file pointer: " . $currentPos; fclose($fp); ?>
The output produced by the above PHP example on the ftell() function is:
And here is the snapshot of the file codescracker.txt used in the above example:
Let me modify the above example to convert to a self-defined example of the ftell() function in PHP:
<?php $fp = fopen("codescracker.txt", "r"); if($fp) { echo "<p>The current position: " .ftell($fp). "</p>"; echo "<p>The first character: " .fgetc($fp). "</p>"; echo "<p>Now the current position: " .ftell($fp). "</p><hr>"; echo "<p>The next (second) character: " .fgetc($fp). "</p>"; echo "<p>The current position: " .ftell($fp). "</p><hr>"; echo "<p>The next (third) character: " .fgetc($fp). "</p>"; echo "<p>The current position: " .ftell($fp). "</p>"; fclose($fp); } else echo "<p>Unable to open the file</p>"; ?>
Now the output should be:
PHP ftell() Syntax
The syntax of the ftell() function in PHP is:
ftell(filePointer)
Advantages of the ftell() function in PHP
- Position of the file pointer is accurate thanks to the "ftell()" function, which is available for any given file.
- Useful for both reading and writing files: This function is helpful for a variety of file handling tasks because it can be used for both reading and writing files.
- Can be used with other file functions: To carry out more complex file operations, the "ftell()" function can be combined with other file functions like "fseek()" and "rewind()."
Disadvantages of the ftell() function in PHP
- Not helpful for very large files: The "ftell()" function may not be helpful for very large files because it may return a value that is larger than the integer range.
- The "ftell()" function might not function properly with non-seekable streams, such as pipes or network sockets.
- Not thread-safe: The "ftell()" function is not thread-safe, which means that the outcome may be unpredictable if multiple threads access the same file.
« Previous Tutorial Next Tutorial »