最近幾天 WordPress 愛好者羣裏很多網友問 WordPress 上傳中文名附件亂碼問題如何解決,正好閒來無事,在谷歌刨了半天找出一段處理 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);
代碼的效果是判斷附件的文件名如果是中文就自動改成 md5 的儲存名,測試了下該代碼目前還是有效的,另外有些 WordPress 小白可能不知道代碼加在哪,小編在這裏提示下,此段代碼要加到當前主題的 functions.php 文件中,或者 functions.php 包含的文件中。