File text can be counted and summarized without exposing a file handle.

line summary For static replay, summarize lines into scalar counts and labels.

Line Count

extra
line_count.php
Replay: real traced execution (multi-file project)
<?php
$extra = "three";
$file = "php_lines_file.txt";

file_put_contents($file, "one\ntwo\n" . $extra . "\n");
$content = trim(file_get_contents($file));
$lines = substr_count($content, "\n") + 1;
unlink($file);

echo "extra=" . $extra . "\n";
echo "lines=" . $lines . "\n";
<?php
$extra = "four";
$file = "php_lines_file.txt";

file_put_contents($file, "one\ntwo\n" . $extra . "\n");
$content = trim(file_get_contents($file));
$lines = substr_count($content, "\n") + 1;
unlink($file);

echo "extra=" . $extra . "\n";
echo "lines=" . $lines . "\n";
<?php
$extra = "five";
$file = "php_lines_file.txt";

file_put_contents($file, "one\ntwo\n" . $extra . "\n");
$content = trim(file_get_contents($file));
$lines = substr_count($content, "\n") + 1;
unlink($file);

echo "extra=" . $extra . "\n";
echo "lines=" . $lines . "\n";
  1. $extra ← three, $file ← php_lines_file.txt, $content ← one two three

    1<?php2$extra→ three = "three"; //@extra="four", "five"3$file→ php_lines_file.txt = "php_lines_file.txt";45file_put_contents($filephp_lines_file.txt, "one\ntwo\n" . $extrathree . "\n");6$content→ one
    two
    three = trim(file_get_contents($filephp_lines_file.txt));7$lines→ 3 = substr_count($contentone
    two
    three, "\n") + 1;8unlink($filephp_lines_file.txt);910echo "extra=" . $extrathree . "\n";11echo "lines=" . $lines3 . "\n";
    outputextra=three
    lines=3
  1. $extra ← four, $file ← php_lines_file.txt, $content ← one two four

    1<?php2$extra→ four = "four";3$file→ php_lines_file.txt = "php_lines_file.txt";45file_put_contents($filephp_lines_file.txt, "one\ntwo\n" . $extrafour . "\n");6$content→ one
    two
    four = trim(file_get_contents($filephp_lines_file.txt));7$lines→ 3 = substr_count($contentone
    two
    four, "\n") + 1;8unlink($filephp_lines_file.txt);910echo "extra=" . $extrafour . "\n";11echo "lines=" . $lines3 . "\n";
    outputextra=four
    lines=3
  1. $extra ← five, $file ← php_lines_file.txt, $content ← one two five

    1<?php2$extra→ five = "five";3$file→ php_lines_file.txt = "php_lines_file.txt";45file_put_contents($filephp_lines_file.txt, "one\ntwo\n" . $extrafive . "\n");6$content→ one
    two
    five = trim(file_get_contents($filephp_lines_file.txt));7$lines→ 3 = substr_count($contentone
    two
    five, "\n") + 1;8unlink($filephp_lines_file.txt);910echo "extra=" . $extrafive . "\n";11echo "lines=" . $lines3 . "\n";
    outputextra=five
    lines=3