Browse the Filesystem
(Chapter 8, Shared Hosting - Pg 82-83)
< Back to Code Repository
<pre>
<?php
if (isset($_GET['dir']))
{
ls($_GET['dir']);
}
elseif (isset($_GET['file']))
{
cat($_GET['file']);
}
else
{
ls('/');
}
function cat($file)
{
echo htmlentities(file_get_contents($file), ENT_QUOTES, 'UTF-8');
}
function ls($dir)
{
$handle = dir($dir);
while ($filename = $handle->read())
{
$size = filesize("$dir$filename");
if (is_dir("$dir$filename"))
{
$type = 'dir';
$filename .= '/';
}
else
{
$type = 'file';
}
if (is_readable("$dir$filename"))
{
$line = str_pad($size, 15);
$line .= "<a href=\"{$_SERVER['PHP_SELF']}";
$line .= "?$type=$dir$filename\">$filename</a>";
}
else
{
$line = str_pad($size, 15);
$line .= $filename;
}
echo "$line\n";
}
$handle->close();
}
?>
</pre>