w3resource

PHP script to count lines in a text file

PHP File Handling: Exercise-3 with Solution

Write a PHP script to count the number of lines in a text file.

Sample Solution:

PHP Code :

<?php
$filename = "i:/test.txt";

try {
    $lineCount = 0;

    $fileHandle = fopen($filename, 'r');
    if ($fileHandle === false) {
        throw new Exception("Error opening the file.");
    }

    while (!feof($fileHandle)) {
        $line = fgets($fileHandle);
        if ($line !== false) {
            $lineCount++;
        }
    }

    fclose($fileHandle);

    echo "Number of lines in the file: " . $lineCount;
} catch (Exception $e) {
    echo "An error occurred: " . $e->getMessage();
}
?>

Sample Output:

Number of lines in the file: 5

Explanation:

In the above exercise -

  • We have a $filename variable that holds the name of the text file for which we want to count the lines.
  • Inside the try block, we initialize a $lineCount variable to 0, which stores the number of lines.
  • We open the file using fopen() with the 'r' mode to read the file.
  • If there is an error opening the file, we throw an exception with the error message "Error opening the file."
  • We then enter a loop using feof() to check if we have reached the end of the file. Inside the loop, we use fgets() to read each line from the file. If a line is successfully read ($line !== false), we increment the $lineCount variable.
  • After counting the lines, we close the file using fclose().
  • Finally, we display the number of lines in the file using the echo statement.

Flowchart:

Flowchart: PHP script to count lines in a text file.

PHP Code Editor:

Contribute your code and comments through Disqus.

Previous: PHP function to check file existence by path.
Next: PHP function to write string to file.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.