Re: directory help

From: Date: Mon, 17 Jul 2000 04:39:32 +0000
Subject: Re: directory help
Groups: php.general 
Request: Send a blank email to php-general+get-6869@lists.php.net to get a copy of this message
>Hi, > I need to recursivly traverse a directory path, anyone have any >ideas on how to do this? I've tried many things, but none have been >successful so far. Thanks! > >Jay Here's a sample of what I usually use for this purpose: <? function recursedirs($currentdir,$level) { $level++; if ($level > 99) { print "Too many levels!<br>\r\n"; exit; } if (substr(strrev($currentdir),0,1) != "/") { $currentdir = $currentdir . "/"; }; $retval = chdir($currentdir); $dhdl=opendir("."); while ($filename = readdir($dhdl)) { if(is_dir($filename)) { $dlist[] = $filename; } if(is_file($filename)) { $flist[] = $filename; } } closedir($dhdl); while (list ($key, $filename) = each ($flist)) { print $level . ": " . $currentdir . $filename . "<br>\r\n"; }; while (list ($key, $filename) = each ($dlist)) { if (!($filename == "." || $filename == "..")) { recursedirs($currentdir . $filename,&$level); }; }; } $rootdir = "/home/httpd/html/dev"; $level = 0; print "<html><body>\r\n"; recursedirs($rootdir,&$level); print "</body></html>"; ?> $rootdir is where the traversal starts. The $level check prevents going too deep. Hope this helps! Joe

« previous php.general (#6869) next »