basename函数不能获取url路径中文文件名的问题

时间:2022-08-25 09:29:01

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