basename函数不能获取url路径中文文件名的问题
basename
basename() 函数返回路径中的文件名部分。
语法
basename(path,suffix)
参数 | 描述 |
---|---|
path | 必需。规定要检查的路径。 |
suffix | 可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。 |
例子:
<?php $path = "/testweb/home.php"; //显示带有文件扩展名的文件名 echo basename($path); //显示不带有文件扩展名的文件名 echo basename($path,".php"); ?> //输出 home.php home
但是,今天在获取中文文件名称时,返回的竟然是空
<?php $path = "/testweb/吉林管理员_log.xml"; //显示带有文件扩展名的文件名 echo basename($path); ?> //输出 _log.xml
在网上找了一个正则匹配发现可以,特意分享给大家
<?php $path = "/testweb/吉林管理员_log.xml"; //显示带有文件扩展名的文件名 echo preg_replace('/^.+[\\\\\\/]/', '', $path); ?> //输出 吉林管理员_log.xml