又是basename,其实真的不想谈它,只是这两天在修正neatpic的BUG时,又被它折腾了。
前两天有朋友在回复里说,还是对中文处理一下吧。所以,我想了想,对中文又重新更新了下,结果问题就来了。我明明文件名是:“图片2副本.jpg”,但在cache之后就成了“2副本.jpg”,2前面的图片两个字就没有了。。这个,也太妖异了。得,你说不支持中文吧,干脆连后面的副本也没有就算了。却偏偏把前面的中文去掉了。
后来用pathinfo也测试了一下,同样的问题。。。
但是我在win服务器下却一切正常。后来我检查了一下我的WEB服务器,我的版本是5.2.6,
测试代码:echo basename('E:/test/图片2副本');点击查看测试页。
这个真叫一个妖啊。。。
所以我现在是:str_replace(dirname($filename).DIRECTORY_SEPARATOR,'',$filename);
希望遇到同样问题的能够再次避免吧。。