解决WordPress上传中文附件乱码问题
最近在本地测试Wordpress,其他测试一切正常,但是就上传中文附件没法下载,显示为404,修改conf也不行,所以上网查了查,很多方法不能用了,不过还是找到了2个能用的方法,亲测可用,一个简单一点,一个复杂一点。分享给大家。
简单的,把以下代码添加到主题目录functions.php 文件
function upload_file($filename) {
$parts = explode(‘.’, $filename);
$filename = array_shift($parts);
$extension = array_pop($parts);
foreach ( (array) $parts as $part)
$filename .= ‘.’ . $part;
if(preg_match(‘/[一-龥]/u’, $filename)){
$filename = md5($filename);
}
$filename .= ‘.’ . $extension;
return $filename ;
}
add_filter(‘sanitize_file_name’, ‘upload_file’, 5,1);
复杂一点的,修改admin文件及里面的文件。
1、找到wp-admin/includes/file.php
2、查找到
$new_file = $uploads['path'] . "/$filename"; 替换为
$new_file = $uploads['path'] . "/" . iconv("UTF-8","GB2312",$filename); 3、查找到
return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' ); 替换为
return apply_filters( 'wp_handle_upload', array( viagra online usa 'file' => $uploads['path'] . "/$filename", 'url' => $url, 'type' => $type ) , 'upload'); 改后保存。
本文出自有个博客,转载时请注明出处及相应链接。
本文永久链接: http://www.eu5.cn/post/670.htm
一条评论
帮我大忙了,thank you!