Go Back   CodingForums.com > :: Server side development > PHP

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 12-05-2008, 05:48 AM   PM User | #1
Peuplarchie
Regular Coder

 
Join Date: Feb 2006
Posts: 262
Thanks: 23
Thanked 1 Time in 1 Post
Peuplarchie is an unknown quantity at this point
Post count,list specific file type, collapse/expand ???

Good day to you all,
I was wondering how can i make a directory lister that would :

- count and list a specific file type "ex .html".
- Make folders collapse/expand option.

here is what I have worked out so far.

PHP Code:



<?php

  
function CountDir($aDir$aRecurse)
  {
    
$Count 0;
    
$d dir($aDir);
    while (
$Entry $d->Read())
    {
      if (!((
$Entry == "..") || ($Entry == ".")))
      {
        if (
Is_Dir($aDir '/' $Entry))
        {
          if (
$aRecurse)
          {
            
$Count += CountDir($aDir '/' $Entry$aRecurse);
          }
        }
        else
        {
          
$Count++;
        }
      }
    }
    return 
$Count;
  }



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.
            
sort ($file);            
            
$rest substr($file0, -4);

            if( 
is_dir"$path/$file" ) ){
            
// Its a directory, so we need to keep reading down...

echo $spaces.'<a href="http://test.info/test.php?folder='.$path.'/'.$file.'" align="left" class="white00" target="image">'.$file.'</a> - '.CountDir($path.'/'.$filetrue).' <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.'<a href="http://test.info/test.php?folder='.$path.'/'.$file.'" align="left" class="white00" target="image">'.$file.'</a><br/>';


                
// Just print out the filename
            
            
}
        }
    }
    
closedir$dh );
    
// Close the directory handle
}

getDirectory"test" );
// Get contents of the "files/includes" folder  

?>
Peuplarchie is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:54 PM.


Advertisement
Log in to turn off these ads.