#35998 [Asn->Csd]: getPathname() method always returns unix style filenames.
| From: | helly@php.net | Date: | Fri, 13 Jan 2006 19:37:55 +0000 |
| Subject: | #35998 [Asn->Csd]: getPathname() method always returns unix style filenames. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-91872@lists.php.net to get a copy of this message | ||
ID: 35998
Updated by: helly@php.net
Reported By: rquadling at gmail dot com
-Status: Assigned
+Status: Closed
Bug Type: SPL related
-Operating System: Windows XP SP2
+Operating System: Win*
PHP Version: 5.1.2
Assigned To: helly
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Not that it buys you anything besides what you are typically used to
see.
Previous Comments:
------------------------------------------------------------------------
[2006-01-13 17:48:37] tony2001@php.net
Assigned to the maintainer.
------------------------------------------------------------------------
[2006-01-13 17:07:14] rquadling at gmail dot com
Description:
------------
The pathnames returned by DirectoryIterator::getPathname() are always
with '/'. Which is no good for windows.
In /* $Id: spl_directory.c,v 1.63 2006/01/01 13:09:54 sniper Exp $ */
Line 165 the culprit is the "%s/%s".
Ideally the filename should come back appropriate to the DEFAULT_SLASH
constant defined in tsrm_virtual_cwd.h
This constant is controlled by compiler directive TSRM_WIN32.
This is used in realpath which the PHP code below demonstrates.
Reproduce code:
---------------
<?php
foreach(new DirectoryIterator('C:\\') as $o_FILE)
{
echo $o_FILE->getPathname() . "\t" . realpath($o_FILE->getPathname())
. "\n";
}
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35998&edit=1