A simple script to list the contents of a directory.
<?php # Error Reporting error_reporting(E_ERROR); # Mirror Class class mirror { public static $array; public static $array_dir; public static $handle; public static $home ='/home/example/public_html/'; public static $url ='http://example.co.uk/'; public function getList($dir ='') { # Open Directory chdir(mirror::$home . $dir); mirror::$handle = opendir(mirror::$home . $dir); # Read Files while (false !== ($file = readdir(mirror::$handle))) { if ($file !="."&& $file !=".."&& $file !="bt"&& $file !="kf"&& $file !="index.ks"&& $file !="index.html"&& $file !="style.css") { if(is_dir($file)) { mirror::$array_dir[] ='<a href=. $file ."http://example.co.uk/?dir='. $dir . $file .'/">''</a>'; } else { mirror::$array[] ='<a href=. $file ."'.mirror::$url.$dir.$file.'">''</a>'; } } } # Sort Array sort(mirror::$array); sort(mirror::$array_dir); # Title $content .='<strong>Directories</strong><br />'; # Loop Through Each foreach(mirror::$array_dir as $row) { $content .= $row .'<br />'; } # Spacer $content .='<br />'; # Title $content .='<strong>Files</strong><br />'; foreach(mirror::$array as $row) { $content .= $row .'<br />'; } # Return Content return $content; } } $mirror = new mirror(); $content = mirror::getList($_GET['dir']); ?> <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- Title --> <title>Directory Listing</title> <!-- Meta Tags --> <meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1"/> </head> <body> <?=$content;?> </body> </html>
Usage
Edit the necessary variables. The directory is to work from is obtained via $_GET['dir'] - and is relative to the root directory.
0 comments:
Post a Comment