关于php  name()函数的基本使用方法,大家可以查看这篇文章《php name()解析路径并获取文件名称》

有两种方法可以解决 name()函数无法获取带中文字符的文件名

  1. setlocale()函数设置区域方法
  2. preg_replace()正则表达式方法

下面具体了解每种方法如何实现 name()支持中文

 

第一种方法:setlocale()函数设置区域

name()函数依赖于区域,所以我们需要使用setlocale()为其设置区域

<?php  
 setlocale(LC_ALL, \'zh_CN.GBK\');  
 $path = \"/home/www/data/用户.txt\";
 $filename =  name($path); 
 print $filename;
?>  

输出:用户.txt

 

第二种方法:preg_replace()正则表达式

<?php
/* http://www.manongjc.com/article/1296.html */
function get_ name($filename){    
     return preg_replace(\'/^.+[\\\\\\\\\\\\/]/\', \'\', $filename);    
}
$path = \"/home/www/data/用户.txt\";
$filename = get_ name($path); 
print $filename;
?>

输出:用户.txt

收藏 打印