$denied = array("HEADER", "index.phtml", "ubar.png", "bw.html"); # no user-serviceable parts below $files = array(); # read the dir if ($dh = opendir(".")) { while (($file = readdir($dh)) !== false) { if (is_dir($file) && $file[0] != ".") { $dirs[] = $file; } elseif (is_file($file) && !in_array($file, $denied) && $file[0] != ".") { $files[] = $file; } } closedir($dh); } sort($files); array_unshift($files, ".."); function format_filesize($dsize) { if (strlen($dsize) <= 9 && strlen($dsize) >= 7) { if ($dsize / 1048576 < 100) { $dsize = number_format($dsize / 1048576, 1); } else { $dsize = number_format($dsize / 1048576, 0); } return $dsize . "M"; } elseif (strlen($dsize) >= 10) { $dsize = number_format($dsize / 1073741824, 3); return $dsize . "G"; } else { $dsize = number_format($dsize / 1024, 0); return $dsize . "K"; } } # presentation echo '
'; echo "Index of " . basename(getcwd()); echo "
\n"; $totalsize = 0; $odd = FALSE; ?>
foreach ($files as $file) { $size = filesize($file); echo $odd ? '
' : '
'; echo "\n"; echo '
'; echo '
' . $file . '
'; echo '
'; echo format_filesize($size) . '
'; echo '
'; echo "
\n"; $odd = !$odd; $totalsize += $size; } ?>
echo '
' . "Total: " . format_filesize($totalsize) . "
\n"; ?>