ID: 21222 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: Directory function related Operating System: Win2k PHP Version: 4.3.0 New Comment:
That reasoning doesn't quite go along with what the documentation says, IMHO: (quoted from http://www.php.net/dirname) "[...]Essentially, this means that if there are no slashes in path , a dot ('.') is returned, indicating the current directory. Otherwise, the returned string is path with any trailing /component removed.[...]" So for the input '/test.php', the first case (no slashes in path) obviously doesn't apply, since there is a slash contained in the path in question. Now, the second case states that the returned string is the path ('/test.php') with any trailing /component (in this case '/test.php') removed, i.e. simply ''. So there seems to be some kind of contradiction between the manual and what you said, could your elaborate on that, please? Apologies if I'm missing the point, Michael PS: Even if the behaviour was changed to return '/' instead of an empty string, the transformation of '/' to the default directory separator should still be officially documented (and not in the user comments). Previous Comments: ------------------------------------------------------------------------ [2002-12-27 15:27:42] [EMAIL PROTECTED] Your expectation is simply wrong. dirname() is documented to return the directory component of a pathname you feed it. You fed it /test.php and it gave you back / (or the Windows equivalent thereof) as expected.` ------------------------------------------------------------------------ [2002-12-27 15:24:46] [EMAIL PROTECTED] Hi there, <?php echo $_SERVER['REQUEST_URI'] . '<br>'; echo '"' . dirname($_SERVER['REQUEST_URI']) . '"'; ?> produces following output... /test.php "\" Instead of the output above, i expected /test.php "" Can someone confirm this? Daniel ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21222&edit=1