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

【转】PHP里的basename函数不支持中文名的解决

时间:2015-09-12 10:42:59      阅读:399      评论:0      收藏:0      [点我收藏+]

标签:

今天用到basename 函数获取文件名称时,发现如果是中文的文件名返回只有后缀的空文件名(如:.pdf)
    string basename ( string path [, string suffix] )
    说明
    给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
方法一:按照网站上找到说法是此函数依赖于区域设置,如果是多字节名称返回为空可以通过setlocale函数如下设置

  1. <?php  
  2.  setlocale(LC_ALL, ‘zh_CN.GBK‘);  
  3. // or any other locale that can handle multibyte characters.  
  4. ?>  


最好是修改服务器的区域设置来整体解决!

方法二:php自带的basename函数不支持中文,下面这个方法是最简单的实现。

  1. function get_basename($filename){    
  2.      return preg_replace(‘/^.+[\\\\\\/]/‘, ‘‘, $filename);    
  3.  }   

【转】PHP里的basename函数不支持中文名的解决

标签:

原文地址:http://www.cnblogs.com/dhsx/p/4802603.html

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