#47954 [Com]: pathinfo() returns invalid filename for utf-8 file

From: Date: Fri, 07 Aug 2009 12:25:28 +0000
Subject: #47954 [Com]: pathinfo() returns invalid filename for utf-8 file
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-140780@lists.php.net to get a copy of this message
ID: 47954 Comment by: brunner dot adam at gmail dot com Reported By: top dot bagger at bk dot ru Status: No Feedback Bug Type: *Unicode Issues Operating System: Linux 2.6.18 PHP Version: 5.2.9 New Comment: Can confirm on Linux with PHP 5.2.9 var_dump(pathinfo("foobar.ext", PATHINFO_FILENAME)); // string(6) "foobar" var_dump(pathinfo("f&#337;oobar.ext", PATHINFO_FILENAME)); //string(8) "főoobar" var_dump(pathinfo("&#337;oobar.ext", PATHINFO_FILENAME)); //string(5) "oobar" This works well in CLI mode! Previous Comments: ------------------------------------------------------------------------ [2009-04-21 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2009-04-13 12:04:37] jani@php.net Please provide a proper test case. I tested this on command line and it works just fine. (check your charset settings..) ------------------------------------------------------------------------ [2009-04-12 00:46:11] top dot bagger at bk dot ru utf-8 strings i submitid there got replaced by entities :( The main thing is there should be a "_" sign in filename. Then "filename" part becomes splitted by it. If there is no "_" sign, the "filename" part is empty. ------------------------------------------------------------------------ [2009-04-12 00:36:26] top dot bagger at bk dot ru Description: ------------ pathinfo() function returns invalid "filename" array part for utf-8 filename Reproduce code: --------------- <?php $utf8str = "&#1055;&#1056;&#1048;&#1042;&#1045;&#1058;_&#1052;&#1045;&#1044;&#1042;&#1045;&#1044;.mp4"; $path = pathinfo($utf8str); var_dump($path['filename']); ?> Expected result: ---------------- string(25) "&#1055;&#1056;&#1048;&#1042;&#1045;&#1058;_&#1052;&#1045;&#1044;&#1042;&#1045;&#1044;" Actual result: -------------- string(13) "_&#1052;&#1045;&#1044;&#1042;&#1045;&#1044;" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47954&edit=1

« previous php.bugs (#140780) next »