That is some nasty code...
Anything that has repitition like that needs a substantial rewrite, but
I'm guessing that you know that, hence the e-mail.

I just knocked up the following function, powered by the magic of
recursion.  It should be close to what you were trying to do.


function count_files($path) {
    $number_of_files = 0;
    foreach(scandir($path) as $dir) {
        if($dir{0} == '.') continue; # Ignore hidden files
        if(is_dir($path.'/'.$dir))
            $number_of_files += count_files($path.'/'.$dir);
        else
            $number_of_files++;
    }
    return $number_of_files;
}

echo count_files("amrs");



David

Nicholas Couloute wrote:
> here is what I tried but it doesn't work! any advice suggestions or
> something?
> 
> $count = 0;
> $dir = "/amrs";
> $files1 = scandir($dir);
> if ($files1 !== '.' && $files1 !== '..') {
> foreach ($files1 as $files2){
> $dir2 = "/amrs/$files2";
> $files3 = scandir($dir2);
> if ($files3 !== '.' && $files3 !== '..') {
> foreach ($files3 as $files4){
> $dir3 = "/amrs/$files2/$files4";
> $files5 = scandir($dir3);
> if ($files5 !== '.' && $files5 !== '..') {
> foreach ($files5 as $files6){
> $count++;
> }
> }
> }
> }
> }
> }
> echo "$count";
> ~Nick Couloute
> co-owner/Web Designer
> Sidekick2Music.Com
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to