太仓人才网 [登录] 2024年04月19日 星期五 您是第 1877358787 位访者(今天第 689444 位访问者)  目前在线 592版本更新 设为首页 | 加入收藏
太仓人才网
在太仓找工作就上阳光太仓人才网
本站获“苏州市人力资源服务知名品牌”; 太仓十大网站; 太仓人才网最新招聘信息; 太仓找工作; 太仓人才网手机版
企业:19900 职位:150984 简历:347727 | 实时动态: 今天 14:50:58:求职者[28902*] 应聘了 苏州镭超科技有限公司 的职位 质量工程师[939853] 更多
当前位置: 全站信息>> 专题栏目>> 网络技术>>正文

ueditor上传图片中文文件名失败的解决办法

发布:太仓人才网   发布日期:2014-11-27  阅读次数:  

    ueditor是一个非常不错的在线html编辑器,作为百度的产品,在百度贴吧等应用中广泛应用,经受了时间和用户的考验,功能,性能和稳定性来说都是不错的。太仓人才网目前正在测试将原有的html编辑器替换成ueditor。

    在试验的过程中,发现ueditor 默认使用时间戳加上6位随机数作为上传图片的名称,这样就导致一个问题,不管用户上传的是“简历.jpg”还是“myphotos.jpg”在服务器端都会变成类似 “1416821640984672.jpg”这样一串数字的文件名。对于日后文件的识别和管理非常不方便。在php版本的ueditor中,php文件夹中,可以通过config.json来更改这一设置。我将保存文件名更改成了 {time}_{filename} 这样,如果用户上传的文件是“我的照片.jpg”服务器端就会保存为类似 ”1416821640_我的照片.jpg“。这一设计也和之前太仓人才网的html编辑器一致。

    在修改好这一配置后,开始上传了几个图片也都正常,但是在上传某些文件名带有中文的图片时,出现的上传错误,并且不能显示图片。查看html源代码,发现img src的路径是正确的,但是图片不能显示。

1.png


    到服务器上的上传文件夹去一看,文件是有了,但是文件名变成了乱码”1417049031_涓?枃.jpg“,而不是期望的”1417049031_中文.jpg“,原因就是UTF版本的ueditor保存的中文文件名也是utf8的。解决方法很简单,找到其处理上传的核心文件,Upload.class.php,在第120行左右,将

    
      //移动文件
        if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && file_exists($this->filePath))) { 
            $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
        } else { 
            $this->stateInfo = $this->stateMap[0];
        }

//改为

      //移动文件
        $saveFilePath=iconv("UTF-8", "GBK//IGNORE",$this->filePath);
        if (!(move_uploaded_file($file["tmp_name"], $saveFilePath) && file_exists($saveFilePath))) {
            $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
        } else {
            $this->stateInfo = $this->stateMap[0];
        }

 


以上信息或来自于互联网,若有侵权,请及时联系本站管理人员! 阳光客服 1987127758

太仓人才网公众号

太仓人才网客服MM

太仓人才网 太仓人才网WAP 苏州市人力资源服务业知名品牌 关于我们 网页制作/数据库:阳光技术小组 QQ阳光客服 版权所有:太仓市瑞福尔人力资源服务有限公司
ICP许可证:苏B2-20190061;苏ICP备10224897号-1;软著登字第0395877号; 营业执照;人力资源

本页更新时间:2024-04-19 14:51:45 []