ID: 24171 Updated by: [EMAIL PROTECTED] Reported By: php at webfreezer dot com -Status: Open +Status: Feedback Bug Type: Directory function related Operating System: Windows XP PHP Version: 4.3.2 New Comment:
while ($file = readdir ($handle)) { if (is_dir($file)) This looks bogus... shouldn't you be testing: is_dir($baseDir . DIRECTORY_SEPARATOR . $file) instead? Previous Comments: ------------------------------------------------------------------------ [2003-06-13 07:14:06] php at webfreezer dot com Description: ------------ Hi, this bug has been described before however everyone seemed to make a mistake in the report. Create this directory/file structure in the root of drive C: - testDir -- Directory01 -- Directory02 -- Directory03 -- file01.txt -- file02.txt -- file03.txt Then start the script below. The BUG occurs when using a non-relative directory, i.e. an ABSOULTE path. The documentation states "Returns TRUE if the filename exists and is a directory. If filename is a relative filename, it will be checked relative to the current working directory." It seems that a check is only performed in the current directory. If you uncomment the chdir line everything works fine! Please fix this reproducible bug! (Apache 1.3.27, PHP 4.3.2) Reproduce code: --------------- $baseDir="c:/testDir"; function parseDir($baseDir) { [EMAIL PROTECTED]($baseDir); if($handle) { while ($file = readdir ($handle)) { if (is_dir($file)) { echo $file." is a directory!<br>"; } else { echo $file." is NOT a directory!<br>"; } } @closedir($handle); } } //chdir("c:/testDir"); parseDir("c:/testDir"); Expected result: ---------------- . is a directory! .. is a directory! Directory01 is a directory! Directory02 is a directory! Directory03 is a directory! file01.txt is NOT a directory! file02.txt is NOT a directory! file03.txt is NOT a directory! Actual result: -------------- . is a directory! .. is a directory! Directory01 is NOT a directory! Directory02 is NOT a directory! Directory03 is NOT a directory! file01.txt is NOT a directory! file02.txt is NOT a directory! file03.txt is NOT a directory! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24171&edit=1