Using PHP fgetc() to Read Characters from Files and User Input
This article explains the PHP fgetc() function, showing how to open files with fopen(), read characters sequentially from a file, and capture single-character user input, accompanied by complete code examples and detailed usage notes.
In PHP, the fgetc() function reads a single character from an opened file and advances the file pointer to the next character.
Before using fgetc() , you must open a file with fopen() . The following example demonstrates opening a file for reading:
$file = fopen("example.txt", "r");
if ($file) {
// File opened successfully
// Perform other file operations
} else {
echo "Unable to open file!";
}After successfully opening the file, you can read characters using fgetc() . Its syntax is:
fgetc($file)Here $file is a pointer to the opened file resource. The following example reads the entire file character by character and outputs each character:
$file = fopen("example.txt", "r");
if ($file) {
while (($char = fgetc($file)) !== false) {
echo $char;
}
fclose($file);
} else {
echo "Unable to open file!";
}The while loop repeatedly calls fgetc() , which returns a character and moves the pointer forward; when the end of the file is reached, fgetc() returns false and the loop terminates.
Beyond file reading, fgetc() can also read a single character from user input. The example below prompts the user, captures the character, and uses a switch statement to react accordingly:
echo "Please enter a character: ";
$input = fgetc(STDIN);
switch ($input) {
case 'a':
echo "You entered the letter a";
break;
case 'b':
echo "You entered the letter b";
break;
case 'c':
echo "You entered the letter c";
break;
default:
echo "Invalid character entered";
}This snippet shows how fgetc() obtains a character from standard input, stores it in $input , and then a switch statement processes the input.
In summary, the PHP fgetc() function is used to read a single character from a file or from user input, and the provided examples illustrate its correct usage for both scenarios.
php中文网 Courses
php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.