function compare_name($a, $b) { return strnatcmp($a['name'], $b['name']); } // sort alphabetically by name function getFileList($dir) { // array to hold return value $retval = array(); // add trailing slash if missing if(substr($dir, -1) != "/") $dir .= "/"; // open pointer to directory and read list of files $d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading"); while(false !== ($entry = $d->read())) { // skip hidden files if($entry[0] == ".") continue; if(is_dir("$dir$entry")) { $retval[] = array( "name" => "$dir$entry/", "type" => filetype("$dir$entry"), "size" => 0, "lastmod" => filemtime("$dir$entry") ); } elseif(is_readable("$dir$entry")) { $retval[] = array( "name" => "$dir$entry", "type" => mime_content_type("$dir$entry"), "size" => filesize("$dir$entry"), "lastmod" => filemtime("$dir$entry") ); } } $d->close(); usort($retval, 'compare_name'); return $retval; } // output file list as HTML table echo "
\n"; echo "
Name
Type
Size
Last Mod.
\n"; $dirlist = getFileList("."); foreach($dirlist as $file) { echo "
\n"; echo "
",basename($file['name']),"
\n"; echo "
{$file['type']}
\n"; echo "
{$file['size']}
\n"; echo "
",date('r', $file['lastmod']),"
\n"; echo "
\n"; } echo "
\n\n"; ?>