之前在博客里有提过basename的事情,蜘蛛也说过这个函数处理中文有问题。我也在测试的过程中遇到过各种各样的问题,但总体来说,我现在在处理中文文件名的时候是直接 array_pop(explode("/",$filename));
今天在群里,echo也说了这个问题,他居然还贴了SVN中PHP的源码关于basename的一段,并指出问题在php_mblen 这个函数上:他说mblen发现全中文的时候会返回负数。
于是他说有个临时的解决方案是:
XML/HTML代码
- echo 22:00:11
- ltrim(basename(' ' . $filename))
- 骗过mblen() ,mblen全中文的时候,返回的是负数。
- 有一个空格就好 了
没有试过,希望能够解决问题。
然后日哥说,可以用exif_read来解决这个问题,可以取得图片的title,但echo直接无视,因为不是每个上传的文件都是图片,可以通过 Exif_read解决这个问题。
echo也说了,别妄想用pathinfo解决这个问题,因为源码里显示,这个函数最 后还是调用了php_basename,所以他们的问题其实是一样的。。。。
=------纯记录----