ID:               32162
 Updated by:       [EMAIL PROTECTED]
 Reported By:      paul at wavebreaks dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Directory function related
 Operating System: Windows XP SP2
 PHP Version:      5.0.3
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip




Previous Comments:
------------------------------------------------------------------------

[2005-03-02 08:21:05] paul at wavebreaks dot com

Description:
------------
This is probably the same or related to
http://bugs.php.net/bug.php?id=25450 and
http://bugs.php.net/bug.php?id=18710 but since they are for Win 2k
and/or closed, I thought the best bet was to open a new one.

When a path-like-string is passed to dirname, if, and only if, the last
entity (file, dir) is on the root (ie: only one / in the string) then
dirname returns a backslash instead of a forward slash.

There doesn't appear to be a config to tell PHP which part seperator to
use, thus the dirname function is pointlessly broken unless you can
guarentee it will never be given a root level entry.

This, also, breaks your example in the documentation for header() for
Location: header types.

Reproduce code:
---------------
print (dirname('/foo')."\n");
print (dirname('/foo/bar')."\n");

Expected result:
----------------
/
/foo

Actual result:
--------------
\
/foo

You might argue it's not a bug since Windows is meant to handle both
types of path seperator, but a URI does not, and this is you main
audience. 

This issue has been around for way past way too long.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=32162&edit=1

Reply via email to