zero-perfoliate
zero-perfoliate

Author Topic: List folders and files as hyperlinks  (Read 222 times)

Offline Styles

  • New PHP Members
  • Posts: 1
  • Karma: +0/-0
List folders and files as hyperlinks
« on: February 14, 2011, 04:51:32 PM »
Hey guys,

I'm very new to PHP so I apologize for any stupid mistakes or if I'm a little slow understanding things.

I have put together a small website and I wanted to use a PHP script to display a list of files and folders (and sub folders).

Basically a ghetto equivalent of an FTP page so I can apply CSS and make things look a little pretty.

I have the following code I found from Google that will display all of the files and folders, not perfect but it will work for now!  However I can't seem to work out the syntax to make them a hyperlink. 

Any help would be appreciated!


Code: [Select]
<?php

function getDirectory$path '.'$level ){

    
$ignore = array( 'cgi-bin''.''..' );
    
// Directories to ignore when listing output. Many hosts
    // will deny PHP access to the cgi-bin.

    
$dh = @opendir$path );
    
// Open the directory to the handle $dh
    
    
while( false !== ( $file readdir$dh ) ) ){
    
// Loop through the directory
    
        
if( !in_array$file$ignore ) ){
        
// Check that this file is not to be ignored
            
            
$spaces str_repeat'&nbsp;', ( $level ) );
            
// Just to add spacing to the list, to better
            // show the directory tree.
            
            
if( is_dir"$path/$file" ) ){
            
// Its a directory, so we need to keep reading down...
            
                
echo "<strong>$spaces $file</strong><br />";
                
getDirectory"$path/$file", ($level+1) );
                
// Re-call this same function but on a new directory.
                // this is what makes function recursive.
            
            
} else {
            
                echo 
"$spaces $file<br />";
                
// Just print out the filename
            
            
}
        
        }
    
    }
    
    
closedir$dh );
    
// Close the directory handle

}

?>

 

zero-perfoliate