欢迎来到虎哥的SEO日志,本人致力于网站优化,SEO,网络推广,网络营销,网站建设的研究与服务。详情请致电:15605416416.

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

PHP源码 济南SEO 1390℃ 0评论

在使用中发现,我上传的几张图片都不能显示缩略图,只有点击浏览图片的时候才能看见,经过排查发现是因为图片命名的时候用的是中文,上传后的文件名也是用中文命名,正好服务器不支持中文名。经过搜索,发现可以通过以下方式解决

方法一、
首先到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上传图片自动重命名了。
以上代码意思就是,上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件。这就再也不用担心图片文件名相同而覆盖了原文件。

经过测试后采用第二种方案解决问题。

转载请注明:虎哥的SEO日志 » WordPress解决上传图片使用中文名不显示的问题

喜欢 (7)or分享 (0)

您必须 登录 才能发表评论!