問題由來
出現這種問題是因為小編在日常生活中使用 WordPress 編輯文章的時候,上傳的圖片必須是英文名的,如果是中文名的要麼就是亂碼,要麼就是圖片不顯示,每次都要修改文件名再上傳,如果遇到圖片多的,那麼操作起來就十分的複雜了,而今天特地找了相關的資料,留個 WordPress 教程給大家,方面大家遇到這樣的問題能夠有效的解決!

解決方法:
將以下代碼加入 WordPress 主題文件的 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 ;
- }
2014 年 02/21 更新:WordPress 上傳文件,文件名自動 md5 加密並截取指定長度
- function rename_filename($filename) {
- $info = pathinfo($filename);
- $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
- $name = basename($filename, $ext);
- return substr(md5($name), 0, 16) . $ext;
- add_filter('sanitize_file_name', 'rename_filename', 10);
解決説明:
通過上面的代碼,就可以判定我們上傳的附件是中文還是英文,如果是中文就會將名稱自動轉化成 md5 值來儲存。這樣,我們上傳中文圖片的時候就不用擔心圖片的不顯示或者出現亂碼了!