I answered my own question with a little digging on the PHPBuilder page... is_file() and is_dir() will report everything as a directory unless you first chdir() to the directory. After I added the chdir() it worked. Anyone know if that's going to be changed in the future?
(I love recursion!) <? function Check_For_Slash($path) { if (substr($path, (strlen($path) - 1), 1) != "/") { $path = $path . "/"; } return($path); } function Get_Directory_Listing($path) { $base_dir = "/inetpub/wwwroot"; // all paths will be relative to webserver $base_dir = Check_For_Slash($base_dir); if ($dir_handle = opendir($base_dir . $path)) { while ($file = readdir($dir_handle)) { $path = Check_For_Slash($path); chdir($base_dir . $path); if (($file != ".") && ($file != "..")) { if (is_dir($file)) { chdir($base_dir . $path . $file); print($file . "<DIR>\n"); Get_Directory_Listing($path . $file); print("</DIR>\n"); } elseif (is_file($file)) { print("<A HREF='" . $path . $file . "'>" . $file . "</A><BR>\n"); } else { print("I don't know what " . $file . " is. <BR>\n"); } } } closedir($dir_handle); } } Get_Directory_Listing("/somedir/public"); ?> j- "Miha Nedok" <[EMAIL PROTECTED]> wrote in message news:20021101235019.I23837-100000@;voyager.zrcalo.si... > > I had similar problems. Use strcmp() with .. and . . > Or use filetype() to determine if it is a file or directory or ... > > > Mike > > > On Fri, 1 Nov 2002, Jack Kelly Dobson wrote: > > > Date: Fri, 1 Nov 2002 16:39:55 -0600 > > From: Jack Kelly Dobson <[EMAIL PROTECTED]> > > To: [EMAIL PROTECTED] > > Subject: [PHP-WIN] is_file() can't tell the difference between file and > > directory in Win32... > > > > Hello, > > > > This is the first time I've worked with these functions so I'm sure it's in > > Indian, not the arrows. > > > > This script identifies both files and directories as directories. What am I > > doing wrong here? > > > > I'm running as a .dll under IIS. > > > > <? > > function Get_Directory_Listing($path) { > > if ($dir_handle = opendir($path)) { > > while ($file = readdir($dir_handle)) { > > if (($file != ".") && ($file != "..")) { > > if (is_file($file)) { > > print($file . " is a file.<BR>"); > > } > > else { > > print($file . " is a directory.<BR>"); > > } > > } > > } > > closedir($dir_handle); > > } > > } > > Get_Directory_Listing("/my_path"); > > ?> > > > > Thanks j- -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php