|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2008-02-07 16:26 UTC] 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 15:00:02 2025 UTC |
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: driveIt'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.