basename函数 中文问题

前段时间对学校一电影站做了点修改,动态生成文件给用户下载,其中需要向一个页面传递一些参数,有些是中文。今天再去看,发现在下载的时候文件名中的中文全部获取不到,php中使用的是basename函数,前几天还好好的。在我本机上也没问题,就是放到服务器上就出现这个问题,参数传递中的中文是没有问题的,页面中能获取到,问题就除在basename这个函数上,更深层的问题没找到,可能跟php的版本或者配置有关系吧。既然basename不行,那就换一种方式吧!在网上看到一个利用正则表达式匹配出uri中文件名及后缀的方法,这个方法效率比利用substr和strrpos来做要高的多。

function get_basename($filename){ return preg_replace('/^.+[\\\\\\/]/', '', $filename); }
正则表达式处理字符串的能力真的是十分的强大啊!看来必须要掌握好这个知识点。好久没用php,以前学的都忘得差不多了...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值