ID: 44071
Updated by: [EMAIL PROTECTED]
Reported By: csaba at alum dot mit dot edu
-Status: Open
+Status: Bogus
Bug Type: Filesystem function related
Operating System: Windows
PHP Version: 5.2.6
New Comment:
realpath expects a path, a drive letter is not a valid path.
By the way, some functions may be added to deal with the drives on
windows like chdrive.
Previous Comments:
------------------------------------------------------------------------
[2008-02-18 12:20:12] csaba at alum dot mit dot edu
It's still a problem. On my Win XP Pro, with
PHP 5.2.6-dev (cli) (built: Feb 13 2008 12:05:17)
php -r "var_dump(array(getcwd(),realpath('c:')));"
produced:
array(2) {
[0]=>
string(18) "C:\Winapps\PHP.net"
[1]=>
string(3) "C:\"
}
The second string is wrong - it should
have been the same as the first.
------------------------------------------------------------------------
[2008-02-08 02:08:29] csaba at alum dot mit dot edu
is_file and is_dir seem to be similarly affected.
For example realpath("c:frump") will return false if
c:\frump does not exist (note the extra backslash),
whereas it should be checking for frump hanging off
the current directory on the c: drive
------------------------------------------------------------------------
[2008-02-07 16:26:22] csaba at alum dot mit dot edu
Description:
------------
realpath does not handle a drive letters correctly, when the
drive letter is not followed by a backslash:
1) When books is a subdirectory of the current working directory on
the c: drive (getcwd) realpath("c:books") returns false
2) realpath("c:.") and realpath("c:..") both return the three
character string: C:\
Expected result:
----------------
1. books\ should be suffixed onto the current working directory of the
c: drive
2. The current working directory of the c: drive (and one level higher
for the case of ..) should be returned, instead of the root.
Csaba Gabor from Vienna
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44071&edit=1