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

  

原文地址:https://www.cnblogs.com/jinxiblog/p/6781766.html