Файл менеджер by Chaak

                        
<?php 
###########################
# Файл менеджер by Chaak
###########################
$safe = 'C:\\'; //дирректория, куда нельзя дальше соваться =)


function delfolder($folder)
{
if(is_dir($folder))
{
$handle = opendir($folder);
while($subfile = readdir($handle))
{
if($subfile == '.' or $subfile == '..')
continue;
if(is_file($subfile))
unlink("{$folder}/{$subfile}");
else
delfolder("{$folder}/{$subfile}");
}
closedir($handle);
rmdir($folder);
}
else
{
unlink($folder);
}
}

if(isset($_GET['del']))
{
$del = urldecode($_GET['del']);
if(substr($del,0,strlen($safe)) == $safe)
{
if(is_file($del))
{
unlink($del);
header("Location: ".$_GET['location']);
exit();
} elseif(is_dir($del))
{
delfolder($del);
header("Location: ".$_GET['location']);
exit();
}
}
else
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
}


if(!isset($_GET['dir']))
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
else
{
$path = urldecode($_GET['dir']);
if(substr($path,0,strlen($safe)) == $safe)
{
if(is_dir($path))
{

$dir = scandir($path);
echo '<table>';
echo "<tr><td>№</td><td>Filename</td><td>Действие</td></tr>";


foreach($dir as $i => $item)
{
if(!($item == '..' || $item == '.'))
{
echo "<tr><td>$i</td><td><a href='?dir=$path\\$item'>$item</a></td><td><a href='?del=$path\\$item&location=".$_SERVER["PHP_SELF"]."'>Удалить</a></td></tr>";
}
else
{
echo "<tr><td>$i</td><td><a href='?dir=$path\\$item'>$item</a></td></tr>";
}
}


echo '</table>';


} elseif(is_file($path))
{
$file = '';
$fp = fopen($path,'rt');
while(!feof($fp))
{
$file .= fgets($fp,1024);
}
fclose($fp);
htmlspecialchars($file);

echo "<textarea cols='80' rows='35'>$file</textarea>";
echo '<br><a href="javascript:history.back(-1);">Назад</a>';
}
else
{
die('Выбранного файла не существует');
}
}
else
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
}
?>
1 8 0
Без комментариев...