去评论
距米网-精简版

解决WordPress文章上传图片使用中文名不显示的问题

JUMU
2018/12/25 21:15:38
在使用WP后台编辑中发现,我上传的几张图片都不能显示缩略图,只有点击浏览图片的时候才能看见,经过搜索,发现可以通过以下方式解决

方法一:
首先到WordPress目录下找到wp-admin/includes/file.PHP这个文件。在wp-admin/includes/file.php文件中查找

1: $new_file = $uploads['path'] . "/$filename";
替换成下面的:
$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');

但是这个方法有个缺点就是每次我上传的文件名重复的话,就会覆盖原文件

方法二:
首先到WordPress目录下找到wp-admin/includes/file.php这个文件。在wp-admin/includes/file.php文件中查找

  $new_file = $uploads['path'] . "/$filename";
替换成下面的:

$new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext;
这样就可以实现wordpress上传图片自动重命名了。
以上代码意思就是,上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件。这就再也不用担心图片文件名相同而覆盖了原文件。