Files and Streams
Line Count
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
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";
$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
$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
$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