Joe Schaeffer schreef: > Well, that makes things much easier (and that should teach me to rely > on a 5-year-old O'Reilly book...)! Thanks for the help! > > I'm able to display all the contents of the correct dirs and subdirs, > but I'm struggling with my implementation. Since I'm trying to nest > unordered lists, I can't seem to 'catch' sub-directories to nest it > within their parent <li> tags (and then close the corresponding <ul> > when necessary. Before I spend time trying to figure out how to chain > the iterators or mine the returned arrays, is it fair to ask if this > approach is even possible? sure, RecursiveIteratorIterator or DirectoryTreeIterator both have a getDepth() method which might come in useful. alternatively you could subclass either and define the beginChildren() and endChildren() methods to output the open/close <UL> tags. have a hunt around here: http://www.php.net/~helly/php/ext/spl/ > > Again, thanks for the point in the right direction! > > > > On Thu, Oct 30, 2008 at 1:30 PM, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: >> Joe Schaeffer schreef: >>> New to PHP development, new to the list; searched the archives but >>> didn't find an answer (or at least nothing i could successfully >>> adapt). >>> >>> I have a (readable) directory structure like so: >>> >>> ../navigation >>> /cats >>> /dogs >>> /beagles >>> /collies >>> /some/other/dirs/ >>> /horses >>> >>> I need to display those directories in nested html lists (marked up >>> with css). Using PHP on the above, I'd like to produce the following >>> HTML: >>> >>> <ul> >>> <li>cats</li> >>> <li>dogs >>> <ul> >>> <li><beagles></li> >>> <li><collies> >>> <ul><li>some...</li></ul> >>> </li> >>> </ul> >>> </li> >>> <li>horses</li> >>> </ul> >>> >>> I'm able to display one level deep (cats, dogs, horses), but not nest >>> the lists accordingly. Since this is for a navigation structure, >>> obviously I'll have anchors in the <li></li> lines. They'll be >>> formatted like so >>> href="index.php?section=dogs&chapter=collies&verse=some . >>> >>> Some details about my environment: >>> 1) no files will be in the /navigation (or sub) dirs, but i'd >>> (ideally) like to define a depth, to prevent >3-4 levels of >>> navigation. >>> 2) I can successfully exclude dirs (. and .. and anything else I define) >>> 3) the actual PHP script probably won't be in the /navigation >>> directory, so I'll need a defined starting path (ie, $root = >>> /site/docs/includes/navigation/ or somesuch...). >>> 4) no database access (otherwise this whole contraption wouldn't be an issue...) >>> >>> Any help is greatly appreciated, thank you in advance. >> RecurisiveDirectoryIterator and FilterIterator classes from SPL is something that will get you home. >> the archives and the intertubes offer examples (etc) on how to use these. >> >>> --joe >>> >> > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php