Files and Streams
File Exists Check
file_exists checks whether a path currently points to a file.
existence
Check existence before reading optional files, then branch to a scalar fallback.
File Exists Check
file_exists_check.php
Replay: real traced execution (multi-file project)
<?php
$mode = "create";
$file = "php_exists_file.txt";
if (file_exists($file)) {
unlink($file);
}
if ($mode === "create") {
file_put_contents($file, "ready");
} elseif ($mode === "empty") {
file_put_contents($file, "");
}
$exists = file_exists($file) ? "yes" : "no";
$size = file_exists($file) ? filesize($file) : 0;
if (file_exists($file)) {
unlink($file);
}
echo "mode=" . $mode . "\n";
echo "exists=" . $exists . "\n";
echo "size=" . $size . "\n";
<?php
$mode = "skip";
$file = "php_exists_file.txt";
if (file_exists($file)) {
unlink($file);
}
if ($mode === "create") {
file_put_contents($file, "ready");
} elseif ($mode === "empty") {
file_put_contents($file, "");
}
$exists = file_exists($file) ? "yes" : "no";
$size = file_exists($file) ? filesize($file) : 0;
if (file_exists($file)) {
unlink($file);
}
echo "mode=" . $mode . "\n";
echo "exists=" . $exists . "\n";
echo "size=" . $size . "\n";
<?php
$mode = "empty";
$file = "php_exists_file.txt";
if (file_exists($file)) {
unlink($file);
}
if ($mode === "create") {
file_put_contents($file, "ready");
} elseif ($mode === "empty") {
file_put_contents($file, "");
}
$exists = file_exists($file) ? "yes" : "no";
$size = file_exists($file) ? filesize($file) : 0;
if (file_exists($file)) {
unlink($file);
}
echo "mode=" . $mode . "\n";
echo "exists=" . $exists . "\n";
echo "size=" . $size . "\n";
$mode ← create, $file ← php_exists_file.txt
1<?php2$mode→ create = "create"; //@mode="skip", "empty"3$file→ php_exists_file.txt = "php_exists_file.txt";if ($mode === "create")
9if ($modecreate === "create") {10 file_put_contents($filephp_exists_file.txt, "ready");11} elseif ($mode === "empty") {$exists ← yes, $size ← 5
15$exists→ yes = file_exists($filephp_exists_file.txt) ? "yes" : "no";16$size→ 5 = file_exists($filephp_exists_file.txt) ? filesize($file) : 0;if (file_exists($file))
18if (file_exists($filephp_exists_file.txt)) {19 unlink($filephp_exists_file.txt);20}echo "mode=" . $mode . " ";
22echo "mode=" . $modecreate . "\n";23echo "exists=" . $existsyes . "\n";24echo "size=" . $size5 . "\n";outputmode=create exists=yes size=5
$mode ← skip, $file ← php_exists_file.txt, $exists ← no, $size ← 0
1<?php2$mode→ skip = "skip";3$file→ php_exists_file.txt = "php_exists_file.txt";45if (file_exists($file)) {6 unlink($file);7}89if ($mode === "create") {10 file_put_contents($file, "ready");11} elseif ($mode === "empty") {12 file_put_contents($file, "");13}1415$exists→ no = file_exists($filephp_exists_file.txt) ? "yes" : "no";16$size→ 0 = file_exists($filephp_exists_file.txt) ? filesize($file) : 0;1718if (file_exists($file)) {19 unlink($file);20}2122echo "mode=" . $modeskip . "\n";23echo "exists=" . $existsno . "\n";24echo "size=" . $size0 . "\n";outputmode=skip exists=no size=0
$mode ← empty, $file ← php_exists_file.txt, $exists ← yes, $size ← 0
1<?php2$mode→ empty = "empty";3$file→ php_exists_file.txt = "php_exists_file.txt";45if (file_exists($file)) {6 unlink($file);7}89if ($mode === "create") {10 file_put_contents($file, "ready");11} elseif ($mode === "empty") {12 file_put_contents($filephp_exists_file.txt, "");13}1415$exists→ yes = file_exists($filephp_exists_file.txt) ? "yes" : "no";16$size→ 0 = file_exists($filephp_exists_file.txt) ? filesize($file) : 0;if (file_exists($file))
18if (file_exists($filephp_exists_file.txt)) {19 unlink($filephp_exists_file.txt);20}echo "mode=" . $mode . " ";
22echo "mode=" . $modeempty . "\n";23echo "exists=" . $existsyes . "\n";24echo "size=" . $size0 . "\n";outputmode=empty exists=yes size=0