码迷,mamicode.com
首页 > Web开发 > 详细

PHP basename 函数 linux下中文路径的问题解决方法

时间:2018-05-29 17:45:23      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:问题   locale   获取文件   comment   路径   str   home   pre   var   

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

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

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

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

 

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

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

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

输出:用户.txt

 

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

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

输出:用户.txt

PHP basename 函数 linux下中文路径的问题解决方法

标签:问题   locale   获取文件   comment   路径   str   home   pre   var   

原文地址:https://www.cnblogs.com/jiangzq/p/9106189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!