很多网友问WordPress上传中文名附件乱码问题如何解决,正好闲来无事,在Google找出一段处理WordPress上传中文名附件乱码问题的代码:
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);
将以上代码添加到当前主题的functions.php文件中,或者functions.php包含的文件中。代码效果是判断附件的文件名如果是中文就自动改成md5的储存名。