- 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 fgetc(): Get a Single Character from a File
The PHP fgetc() function fetches and returns a single character from a file. For example:
<?php $fp = fopen("codescracker.txt", "r"); echo fgetc($fp); fclose($fp); ?>
The output produced by the above PHP example on the fgetc() function is:
That is, the output is H, which is the first character of the file codescracker.txt. Here is a snapshot of the opened file codescracker.txt, available in the current directory:
Note: The fopen() function opens a file.
Note: The fclose() function closes a file.
You can use feof() to continue fetching until the end of the file and the fgetc() function to read all the content of the file in a character-by-character manner. Here is an example:
<?php $fp = fopen("codescracker.txt", "r"); if($fp) { while(!feof($fp)) { $character = fgetc($fp); if($character == "\n") echo "<br>"; else echo $character; } fclose($fp); } else echo "<p>Unable to open the file!</p>"; ?>
Now the output should be:
Note: The feof() function checks whether the file pointer has been reached at the end of the file.
Recommendation: Since this function fetches data in a character-by-character manner, it makes your application slower for large files. But still, if you need to fetch data character-by-character, you can use the fgets() function to read one line, then fetch that line character-by-character, then do the same for the second line, and so on.
PHP fgetc() Syntax
The syntax of the fgetc() function in PHP is:
fgetc(filePointer)
Advantages of the fgetc() function in PHP
- Memory usage: The script uses less memory thanks to the fgetc() function, which reads each character one at a time. When reading large files, this is particularly helpful.
- More control over the file reading process is available with the fgetc() function than with the file() function. You can, for instance, read only certain parts of the file or skip over specific characters or lines.
- Flexibility: The fgetc() function works with a wide range of file types, including binary files, network streams, and text files.
- Error handling: If the file cannot be read, the fgetc() function provides thorough error messages, making it simpler to troubleshoot problems with the file reading procedure.
Disadvantages of the fgetc() function in PHP
- Efficiency: Because it takes multiple calls to read an entire file, the fgetc() function can be less effective than the file() function when reading large files.
- Code complexity: When compared to using the file() function, the fgetc() function can produce more complex code because it reads one character at a time.
- Performance degradation: When reading multiple characters at once or large files, the fgetc() function may perform more slowly than other file reading functions.
« Previous Tutorial Next Tutorial »