ID: 24560 Updated by: [EMAIL PROTECTED] Reported By: tim at digicol dot de -Status: Open +Status: Assigned Bug Type: URL related Operating System: Red Hat Linux 7.3 PHP Version: 4.3.2 -Assigned To: +Assigned To: iliaa New Comment:
Ilia, you have been touching this a lot.. file://localhost/some/path == file:///some/path ie. They should both produce same path: /some/path ?? (and the // one should have host set too) (at least that's how I interpret this: http://www.w3.org/Addressing/URL/4_1_File.html) Previous Comments: ------------------------------------------------------------------------ [2003-07-09 06:31:06] tim at digicol dot de Description: ------------ parse_url() now prepends the "path" part with the hostname for "file://" scheme URLs. In PHP 4.3.0 and all previous versions we've used (including PHP 3), "file://localhost/path" produced "[path] => /path". In 4.3.2, this has become "[path] => localhost/path", which obviously breaks any code trying to access this on the filesystem. Please fix this in PHP 4.3.3 to keep backwards compatibility. (Maybe this has been broken while fixing http://bugs.php.net/bug.php?id=23445 ?) Workaround: Use "file:/path" URLs (not tested under PHP 3). "file:///path" doesn't work in older PHP versions (PHP 4.0.6 says "PHP Warning: unable to parse url"). Reproduce code: --------------- <?php print_r(parse_url('file://localhost/dir/subdir/file.txt')); ?> Expected result: ---------------- Array ( [scheme] => file [host] => localhost [path] => /dir/subdir/file.txt ) Actual result: -------------- Array ( [scheme] => file [path] => localhost/dir/subdir/file.txt ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24560&edit=1