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
