由於國人很少有在上傳圖片前將圖片名重命名為英語的,所以自動重命名對於WP來說尤為重要,特別是LINUX的不支持中文名的。
WordPress上傳多媒體的代碼都存放於\wp-admin\includes\里面的file.php,打開這個文件,$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );// Move the file to the uploads dir,在此句$filename賦值前添加代碼如下:
$time=date("YmdHis");$type_change = array('image'=>'.');$file_type = strtr($file['type'],$type_change);
$file['name'] = $time."".mt_rand(1,100)."".$file_type ;
之后代碼如下:
$time=date("YmdHis");$type_change = array('image'=>'.');$file_type = strtr($file['type'],$type_change);
$file['name'] = $time.''.mt_rand(1,100).''.$file_type ; $filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback ); // Move the file to the uploads dir
保存下,上傳多媒體后文件就自動重命名為2014012315450088格式,年份月份日期時間和隨機數字。
下面是具體的解決思路:
首先看一下一般的PHP上傳照片的思路,確認類型=》多媒體重命名=》把文件上傳到指定目錄,成功上傳后輸出上傳圖片的預覽用到的函數。
WordPress之所以不能顯示中文的多媒體問題出在第二步,缺少相應的重命名。我們的思路就是在Wordpress原有的上傳步驟中添加一步重命名的,這里是重命名為上傳時間+隨機數字。
http://www.cnblogs.com/huangcong/archive/2012/02/29/2372922.html