<?
/*
Dette script er beregnet til directory-listing.
Filtype-listen er langt fra komplet, da jeg kun har
tilføjet dem, som jeg selv kunne finde på at bruge.
*/
// Start på tabellen.
echo "<table style=\"border: 1px solid #000000;width:100%;\" cellspacing=\"0\" cellpadding=\"2\">";
echo "<tr><td style=\"background-color:#ccc;color:#000;\"><b>File/Handle:</b></td><td style=\"background-color:#ccc;color:#000;\"><b>Type</b></td><td style=\"background-color:#ccc;color:#000;\"><b>Size</b></td></tr>";
// Vælger mappe der skal listes.
if ($handle = opendir('.'))
{
// Countere
$i = 0;
$num_files = 0;
$num_dirs = 0;
// Start på løkken (
http://php.net/readdir).
while (false !== ($file = readdir($handle)))
{
// Sørger for at index-filen ikke kommer med i listen.
if ($file != "index.php")
{
// Liste over filtyper og tælling af filer/mapper
if (substr($file,-5)==".phps")
{
$type = "PHP Sourcecode";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".php")
{
$type = "PHP Script";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".txt")
{
$type = "Text Document";
$num_files = $num_files+1;
}
elseif (substr($file,-5)==".html")
{
$type = "HTML Document";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".zip" || substr($file,-4)==".rar" || substr($file,-4)==".ace")
{
$type = "Compressed archive";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".exe" || substr($file,-4)==".bat")
{
$type = "Program";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".jpg" || substr($file,-5)==".jpeg" || substr($file,-4)==".jpe" || substr($file,-5)==".jfif")
{
$type = "JPEG compressed bitmap";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".gif")
{
$type = "CompuServe bitmap";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".bmp")
{
$type = "Windows bitmap";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".png")
{
$type = "PNG bitmap";
$num_files = $num_files+1;
}
elseif (substr($file,-4)==".sql")
{
$type = "SQL File";
$num_files = $num_files+1;
}
// Filtyper der ikke er med i listen, bliver stemplet som mapper.
else
{
$type = "Directory";
$num_dirs = $num_dirs+1;
}
// Bestemmelse af filstørrelse
// Hvis filen er over 1024 bytes
if(filesize($file)>1024)
{
// Skal tallet rundes ned til kilobyte, med én decimal
$size = round(filesize($file)/1024,1);
// Og have "KB" bagefter
$size = $size."KB";
}
else
{
// Ellers skrives antal bytes, efterfulgt af "B"
$size = filesize($file)."B";
}
// Tælleren skal selvfølgelig tælle.
$i++;
// Skiftevis celle-baggrundsfarve baseret på resten af $i divideret med 2.
if (($i%2) == 1) $col = "#ffffff"; else $col = "#efefef";
// Filerne en efter en, i en række for sig selv.
echo "<tr><td style=\"background-color:$col;color:#000;\"><a href=\"$file\">$file</a></td><td style=\"background-color:$col;color:#000;\">$type</td><td style=\"background-color:$col;color:#000;\">$size</td></tr>\n";
}
}
// Mappen lukkes.
closedir($handle);
// Tabellen afsluttes
echo "</table>";
// Antal filer og mapper skrives
echo "<b>".$num_files."</b> filer og <b>".$num_dirs."</b> mapper.";
}
?>
kald den index.php :)