<?php
clearstatcache();
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && $file != substr($PHP_SELF, -(strlen($PHP_SELF) - strrpos($PHP_SELF, "/") - 1))) {
if (filetype($file) == "dir") {
//SET THE KEY ENABLING US TO SORT
$n++;
if($_REQUEST['sort']=="date") {
$key = filemtime($file) . ".$n";
}
else {
$key = $n;
}
$dirs[$key] = $file . "/";
}
else {
//SET THE KEY ENABLING US TO SORT
$n++;
if($_REQUEST['sort']=="date") {
$key = filemtime($file) . ".$n";
}
elseif($_REQUEST['sort']=="size") {
$key = filesize($file) . ".$n";
}
else {
$key = $n;
}
$files[$key] = $file;
}
}
}
closedir($handle);
}
#USE THE CORRECT ALGORITHM AND SORT OUR ARRAY
if($_REQUEST['sort']=="date") {
@ksort($dirs, SORT_NUMERIC);
@ksort($files, SORT_NUMERIC);
}
elseif($_REQUEST['sort']=="size") {
@natcasesort($dirs);
@ksort($files, SORT_NUMERIC);
}
else {
@natcasesort($dirs);
@natcasesort($files);
}
#ORDER ACCORDING TO ASCENDING OR DESCENDING AS REQUESTED
if($_REQUEST['order']=="desc" && $_REQUEST['sort']!="size") {$dirs = array_reverse($dirs);}
if($_REQUEST['order']=="desc") {$files = array_reverse($files);}
$dirs = @array_values($dirs); $files = @array_values($files);
echo "";
if($_REQUEST['sort']!="name") {
echo "";
}
else {
if($_REQUEST['order']=="desc") {#
echo "";
}
else {
echo "";
}
}
echo "File";
if($_REQUEST['sort']!="size") {
echo "";
}
else {
if($_REQUEST['order']=="desc") {#
echo "";
}
else {
echo "";
}
}
echo "Size";
if($_REQUEST['sort']!="date") {
echo "";
}
else {
if($_REQUEST['order']=="desc") {#
echo "";
}
else {
echo "";
}
}
echo "Date Modified";
$arsize = sizeof($dirs);
for($i=0;$i<$arsize;$i++) {
echo "\t";
echo "\t\t
";
echo "\t\t" . $dirs[$i] . "";
echo "\t\t-";
echo "\t\t" . date ("M d Y h:i:s A", filemtime($dirs[$i])) . "";
echo "\t";
}
$arsize = sizeof($files);
for($i=0;$i<$arsize;$i++) {
switch (substr($files[$i], -3)) {
case "jpg":
$img = "jpg.gif";
break;
case "gif":
$img = "gif.gif";
break;
case "zip":
$img = "zip.gif";
break;
case "png":
$img = "png.gif";
break;
case "avi":
$img = "move.gif";
break;
case "mpg":
$img = "move.gif";
break;
default:
$img = "what.gif";
break;
}
echo "\t\r\n";
echo "\t\t
\r\n";
echo "\t\t" . $files[$i] . "\r\n";
echo "\t\t" . round(filesize($files[$i])/1024) . "KB\r\n";
echo "\t\t" . date ("M d Y h:i:s A", filemtime($files[$i])) . "\r\n";
echo "\t\r\n";
}
echo "Directory Listing Script. © 2003-2004 Ash Young";
?>