首页 > Web开发 > 详细

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

时间:2015-09-12 10:42:37      阅读:373      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!