Creating a directory listing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to do this for a web site. I need to list the contents of each directory on a site to perhaps 4 levels deep (only html files). I've almost got a function going where it starts at the top level and checks each file to see if IT is a directory and if so chdir() to that and list the contents of it until it comes across a directory at that level then chdir() again and so on and when done it will have gone through all files in the 4 levels. I also have to consider searching the files in each directory for a search term (I've got the searching part OK). What is the most efficient way to go through a hierarchy of directories to list or check each file and subdirectory?

Right now, this is what I have and I think it works, but not sure if it's most efficient way:

if ($handle1 = @opendir($basedir)) {
$dir0 = getcwd();
while (false !== ($file1 = readdir($handle1))) {
//ignore files that start with periods (hidden files and parent directories)
if (substr($file1,0,1) != "." && substr($file1,0,2) != "..") {
if (is_dir($file1)) {
chdir($file1);
$dir1 = getcwd();
if ($handle2 = @opendir($dir1)) {
while (false !== ($file2 = readdir($handle2))) {
if (substr($file2,0,1) != "." && substr($file2,0,2) != "..") {
if (is_dir($file2)) {
chdir($file2);
$dir2 = getcwd();


// and so on as many levels as needed

                            } elseif (ereg("\.htm",$file2)) {
                                echo "$file2<br>";
                            }
                        }
                    }  //end while
                    closedir($handle2);
                    chdir($dir0);
                }  //end opendir
            } elseif (ereg("\.htm",$file1)) {
                echo "$file1<br>";
            }
        }
    }
    closedir($handle1);
    // output the results
}

Thanks for any assistance.

Dave



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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux