ID:               29542
 Comment by:       p dot daintree at paradise dot net dot nz
 Reported By:      ppmm at wuxinan dot net
 Status:           Open
 Bug Type:         Filesystem function related
 Operating System: Windows 2000 Prof.
 PHP Version:      5.0.0
 New Comment:

Using linux 2.4.20 kernel php 5.0.0 on apache 1.3.31

$String = "abcdef - ghijk";
echo substr($String, strrpos($String," - "));

returns

" - ghijk"

but should and did return "ghijk" in previous versions.

Phil


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

[2004-08-05 23:42:35] ppmm at wuxinan dot net

Description:
------------
when path has multi-byte chars, basename() does not return correct file
basename. I did not have this problem in PHP 4.3.7. In the example,
$hehe variable has two gb2312-encoded chinese chars. This might relate
to setlocale or something like that.

Reproduce code:
---------------
$hehe = "hehe/�պ� haha kkk";
echo basename($hehe)."\n";
echo substr($hehe, strrpos($hehe, "/")+1);

Expected result:
----------------
�պ� haha kkk
�պ� haha kkk

Actual result:
--------------
 haha kkk
�պ� haha kkk


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


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

Reply via email to