";
function get_extension($name) {
$array = explode(".", $name);
$retval = strtolower(array_pop($array));
return $retval;
}
// Recursion! And away we go...
// Set some globals and clean up a bit...
// What a pig...
function list_dir($chdir) {
global $root, $prefix, $showsize, $display, $excludedir, $excludefile;
unset($sdirs);
unset($sfiles);
chdir($chdir);
$self = basename($_SERVER['PHP_SELF']);
// Open the current directory
$handle = opendir('.');
// Read directory. If the item is a directory, place it in $sdirs.
// If it's a filetype we want, put it in $sfiles
while ($file = readdir($handle))
{
if(is_dir($file) && $file != "." && $file != ".." && !in_array($file, $excludedir))
{ $sdirs[] = $file; }
elseif(is_file($file) && $file != "$self" && array_key_exists(get_extension($file), $display)
&& !in_array($file, $excludefile))
{ $sfiles[] = $file; }
}
// Count the slashes to determine how deep we're in the directory.
// Add lines to make it pretty.
$dir = getcwd();
$dir1 = str_replace($root, "", $dir."/");
$count = substr_count($dir1, "/") + substr_count($dir1, "\\");
// Display directory names and recursively list them.
if(is_array($sdirs)) {
sort($sdirs);
reset($sdirs);
if ($count<1){
echo "
\n";
}else {
echo "\n";
}
for($y=0; $y";
echo "$sdirs[$y]";
list_dir($dir."/".$sdirs[$y]);
echo "\n";
}
if(!is_array($sfiles))
{echo "
\n";}
}
chdir($chdir);
// Run through the array of files and show them.
if(is_array($sfiles)) {
sort($sfiles);
reset($sfiles);
$sizeof = sizeof($sfiles);
if(!is_array($sdirs)){
echo "\n";
}elseif($count<1){
echo "- Files:
\n";
}
// What file types shall we display?
for($y=0; $y<$sizeof; $y++) {
/**if($sfiles[$y]=='info.txt'){
writeInfo($sfiles[$y]);
}**/
echo "- ";
echo "$sfiles[$y]\n";
echo "
\n";
if($y == ($sizeof -1) && !is_array($dirs)){
echo "
\n";
}if($y == ($sizeof -1) && $count<1)
echo "
\n";
}
//if(!is_array($sdirs)){
// echo "
\n";
//}
}
}
list_dir($root);
function writeInfo($infofile){
if(is_file($infofile)){
$content=file_get_contents($infofile);
echo"
$content";
}
}
echo "
\n";
// How long did that take?
$ftime = gettimeofday();
$time = round(($ftime[sec] + $ftime[usec] / 1000000) - ($stime[sec] + $stime[usec] / 1000000), 5);
echo "This page was generated in $time seconds.
\n";
?>