TimThumb 在iis环境由于文件名字存在汉字无法使用的解决方法

timthumb 是个缩略图的利器,一个客户的网站是环境是 iis + php5.4, 缩略图一直不能正常的显示,而存在汉字的图片可以直接打开。通过 TimThumb.php?src=/dir/汉字.jpg&w=100&h=50 这样的格式无法使用。

原始是在 window下,php函数执行 file_exists("汉字.jpg") ,如果有汉字会导致失败,可能是原因是编码,毕竟windows使用的不是utf8。所有处理的方式是把文件的编码,修改为GB2312。

程序中需要修改两个地方

第一: 修改一个判读

protected function getLocalImagePath($src){
...
if(file_exists ($this->docRoot . '/' . $src)) {
# 更换为
if(file_exists(iconv('UTF-8','GB2312',$this->docRoot . '/' . $src))) {

第二: 添加一行代码

protected function serveInternalImage(){
# 添加一下代码
        $this->localImage = iconv('UTF-8','GB2312',$this->localImage);

发表评论

电子邮件地址不会被公开。 必填项已用*标注