搜索
查看: 1824|回复: 0

wordpress上传中文附件出现乱码和后台上传中文图片不显示解决方法

[复制链接]

4856

主题

4856

帖子

4861

积分

新手上路

Rank: 1

积分
4861
发表于 2018-2-10 23:55:12 | 显示全部楼层 |阅读模式

                       
在使用wordpress写文章的时候,遇到上传附件的名称为中文,下载的时候出现404问题,进FTP里面看吧,文件名就是显示乱码,弄的我不知所措,一些附件(比如图片,zip,rar压缩包等)还是得上传到博客里面,不过这个问题还是存在,摸索中找到了解决方法,与大家分享。
方法一、
首先到FTP里面找到wp-admin/includes/file.php这个文件。在wp-admin/includes/file.php文件中查找
1:
$new_file = $uploads['path'] . "/$filename";

替换成下面的:(注意:文件中有2处$new_file = $uploads['path'] . "/$filename"; ,我们只需要替换的是第一处,第2处不需要替换)(修正中文文件名编码问题)
$new_file = $uploads['path'] . "/" . iconv("UTF-8","GB2312",$filename);

2:
return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' );

替换成下面的:(修正中文文件名编码问题)
return apply_filters( 'wp_handle_upload', array( 'file' => $uploads['path'] . "/$filename", 'url' => $url, 'type' => $type ) , 'upload');

注:其中的 iconv(“UTF-8″,”GB2312″,$filename);  也可以使用“GBK”编码
但是这个方法有个缺点就是每次我上传的文件名重复的话,就会覆盖原文件
方法二:
首先到FTP里面找到wp-admin/includes/file.php这个文件。在wp-admin/includes/file.php文件中查找
1:
$new_file = $uploads['path'] . "/$filename";

替换成下面的:(注意:文件中有2处$new_file = $uploads['path'] . "/$filename"; ,我们只需要替换的是第一处,第2处不需要替换)(修正中文文件名编码问题)
2:
$new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext;

这样就可以实现wordpress上传图片自动重命名了。
以上代码意思就是,上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件。这就再也不用担心图片文件名相同而覆盖了原文件。
其他教程:
wordpress的NextGEN Gallery相册插件支持中文图片名方法:
http://www.piis.cn/jiaocheng/web607.asp
wordpress的NextGEN Gallery相册插件支持中文图集名的方法:
www.piis.cn/jiaocheng/web608.asp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

长春门户网站

长春门户网是网民了解长春的网络窗口,同是提供长春地区百姓生活分类供求信息的门户网站,同时提供长春网站建设、长春网站设计,我们将逐步的完善网站分类信息资源;

长春门户网二维码

联系我们

  • 工作时间:早上8:00 - 晚上5:30
  • 投稿联系:13624467185(微信同号)
  • 反馈邮箱:5053050@QQ.com
  • 公司地址:吉林省长春市亚泰大街与自由大路交汇五环国际大厦1408室

QQ|小黑屋|手机版|Archiver|cc! ( 吉ICP备2021009740号-8 )

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表