齐乐分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1288|回复: 0
收起左侧

[代码记录] PHP中basename获取不了中文文件名的解决办法!

[复制链接]
爱站吧 发表于 2017-8-25 23:33:45 | 显示全部楼层 |阅读模式
PHP用到basename 函数获取文件名称时
发现如果是中文的文件名返回只有后缀的空文件名(如:齐乐分享.jpg)
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
按照网站上找到说法是此函数依赖于区域设置,如果是多字节名称返回为空可以通过setlocale函数如下设置

  1. setlocale(LC_ALL, 'zh_CN.GBK'); //PHP代码里加上这句
  2. // or any other locale that can handle multibyte characters.
  3. $name = "/bbs76fx/齐乐分享.jpg";
  4. echo basename($name);
  5. //返回"齐乐分享.jpg" 显示带有文件扩展名的文件名

  6. echo basename($name,".jpg");
  7. //返回"齐乐分享" 显示不带有文件扩展名的文件名

复制代码
最好方法还是是修改服务器的区域设置来整体解决
当然,使用其它的方法,也是可行的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题 上个主题 下个主题 快速回复 收藏帖子 返回列表 搜索
小黑屋|sitemap| |站点统计

版权所有:齐乐分享—技术交流,学习,分享平台 ( 皖ICP备14022669号-1 )

技术支持:Powered by Discuz! X3.4 Copyright © 2013-2018 Comsenz Inc. All Rights Reserved

GMT+8, 2022-7-3 01:50 , Processed in 0.087472 second(s), 14 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表