<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- My Third PHP Program            -->
<!-- Thanks to JJR for $_SERVER code -->
<!-- 0.10 07-Jul-2011 JGH: Works!    -->
<!-- 0.11 08-Jul-2011 JGH: Remove queries from path -->
<!-- 0.12 09-Jul-2011 JGH: Directory access string  -->
<!-- 0.13 16-Dec-2011 JGH: Directory list sorted    -->
<HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="MSSmartTagsPreventParsing" content="True">
<META name="Generator" content="PHP Directory Lister">
<META name="Author" content="Jonathan Graham Harston">
<?php
 $colmax 
4;                                                   // Number of columns -1
 
$root "/domains/mdfs.net/public_html";                       // Root of http documents

 
$uri $_SERVER['REQUEST_URI'];
 
$path $root.mb_substr($uri,0,-mb_strlen(strrchr($uri,"/"))); // path
 
$count strpos($path"?");
 if (
$count 0) { $path substr($path0$count); }          // Remove any query string

 
$pathname $path;                                             // copy of path for display
 
$pathname substr($pathnamestrlen($root)+1);                // trim to root
 
$pathname str_replace("/""*"$pathname);                  // swap UNIX to BBC format
 
$pathname str_replace(".""/"$pathname);                  // '.' <-> '/'
 
$pathname str_replace("*""."$pathname);

 
// Page title
 
echo '<TITLE>MDFS::';
 echo 
$pathname;
 echo 
'</TITLE>'; echo "\n";
 echo 
'</HEAD>'; echo "\n\n";
 echo 
'<BODY>'; echo "\n";
 echo 
'<TABLE bgcolor="#ffff66" width="100%"><TR><TD>'; echo "\n";

 
// Breadcrumb header:
 
$pathcount substr_count($pathname".")+1;                   // number of path components
 
echo '<SMALL>&nbsp;<A href="';
 echo 
str_repeat("../"$pathcount);                            // relative link to root
 
echo '"'; echo "\n"; echo 'target="_top">MDFS</A>::';
 
$count $pathcount;                                           // step through path components
 
while ($count 1) {
  
$count $count -1;                                           // dec. number of path components
  
echo '<A href="';
  echo 
str_repeat("../"$count);
  echo 
'"'; echo "\n"; echo 'target="_top">';
  echo 
substr($pathname0strpos($pathname"."));            // path component
  
echo '</A>.';
  
$pathname substr($pathnamestrpos($pathname".")+1);      // step to next path component
 
}
 echo 
'<B>';
 echo 
$pathname;
 echo 
'</B>'; echo "\n";
 echo 
'</SMALL><TD align="right">'; echo "\n";
 echo 
'<SMALL><A href="http://google.co.uk/custom?domains=mdfs.net&amp;sitesearch=mdfs.net">Search</A>';
 echo 
"\n";
 echo 
'&nbsp;</SMALL></TABLE><P><TT>'; echo "\n";

 
// Read sorted directory contents
 
$dir opendir($path);                                 // create a handle for the directory
 
while (false !== ($file readdir($dir))) {            // read directory entries
  
$files[] = $file;
 }
 
closedir($dir);                                        // close directory handle
 
sort($files);                                          // sort filenames

 // Catalogue of directory entries
 
$count 0;                                            // current column
 
foreach ($files as $file) {

  
// if $file isn't this directory or its parent, display it as a link
  
if ($file != '.' && $file != '..' && $file != 'index.php') {
   echo 
"&nbsp;<a href='"; echo $file; echo "'>";       // link
   
echo $file; echo "</a>";                             // filename
   
if (strlen($file)<16) {
     echo 
str_repeat("&nbsp;"16-strlen($file));       // padding to access string
   
}
   if (
is_dir($path "/" $file)) {
    echo 
"DL/ &nbsp; \n";                               // directory access string
   
} else {
    echo 
"wr/R&nbsp; \n";                               // file access string
   
}
   
$count $count+1;                                   // inc. column count
   
if ($count $colmax) {
     echo 
"<br>\n";                                     // newline
     
$count 0;
   }
  }
 }

 
// Footer
 
echo '</TT><CENTER><HR width="100%">'; echo "\n";
 echo 
'Hosted by <A href="http://force9.net" target="_top">Force9 Internet</A> -'; echo "\n";
 echo 
'Authored by <A href="';
 echo 
str_repeat("../"$pathcount);              // relative link to root
 
echo 'User/JGH/Docs/Me/">J.G.Harston</A>';       // link to my info page
 
echo "\n"; echo '<BR>Page generated on: ';
 echo 
date("d-M-Y");
 echo 
'</CENTER>'; echo "\n";
?>
</BODY>
</HTML>