file_get_contents reads a whole small file into a string.

read Read examples should keep file content small so replay remains easy to inspect.

Read File

name
read_file.php
Replay: real traced execution (multi-file project)
<?php
$name = "Ada";
$file = "php_read_file.txt";

file_put_contents($file, "name=" . $name);
$content = file_get_contents($file);
unlink($file);

echo "name=" . $name . "\n";
echo "content=" . $content . "\n";
<?php
$name = "Grace";
$file = "php_read_file.txt";

file_put_contents($file, "name=" . $name);
$content = file_get_contents($file);
unlink($file);

echo "name=" . $name . "\n";
echo "content=" . $content . "\n";
<?php
$name = "Rasmus";
$file = "php_read_file.txt";

file_put_contents($file, "name=" . $name);
$content = file_get_contents($file);
unlink($file);

echo "name=" . $name . "\n";
echo "content=" . $content . "\n";
  1. $name ← Ada, $file ← php_read_file.txt, $content ← name=Ada

    1<?php2$name→ Ada = "Ada"; //@name="Grace", "Rasmus"3$file→ php_read_file.txt = "php_read_file.txt";45file_put_contents($filephp_read_file.txt, "name=" . $nameAda);6$content→ name=Ada = file_get_contents($filephp_read_file.txt);7unlink($filephp_read_file.txt);89echo "name=" . $nameAda . "\n";10echo "content=" . $contentname=Ada . "\n";
    outputname=Ada
    content=name=Ada
  1. $name ← Grace, $file ← php_read_file.txt, $content ← name=Grace

    1<?php2$name→ Grace = "Grace";3$file→ php_read_file.txt = "php_read_file.txt";45file_put_contents($filephp_read_file.txt, "name=" . $nameGrace);6$content→ name=Grace = file_get_contents($filephp_read_file.txt);7unlink($filephp_read_file.txt);89echo "name=" . $nameGrace . "\n";10echo "content=" . $contentname=Grace . "\n";
    outputname=Grace
    content=name=Grace
  1. $name ← Rasmus, $file ← php_read_file.txt, $content ← name=Rasmus

    1<?php2$name→ Rasmus = "Rasmus";3$file→ php_read_file.txt = "php_read_file.txt";45file_put_contents($filephp_read_file.txt, "name=" . $nameRasmus);6$content→ name=Rasmus = file_get_contents($filephp_read_file.txt);7unlink($filephp_read_file.txt);89echo "name=" . $nameRasmus . "\n";10echo "content=" . $contentname=Rasmus . "\n";
    outputname=Rasmus
    content=name=Rasmus