也想出現在這里?聯系我們

wordpress教程:解決wordpress上傳中文附件出現亂碼的問題

  • 文章介紹
  • 升級版本
  • 評價&建議

問題由來

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

解決方法:

將以下代碼加入wordpress主題文件的functions.php文件內:

  1. function?upload_file($filename)?{
  2. $parts?=?explode('.',?$filename);
  3. $filename?=?array_shift($parts);
  4. $extension?=?array_pop($parts);
  5. foreach?(?(array)?$parts?as?$part)
  6. $filename?.=?'.'?.?$part;
  7. if(preg_match('/[一-龥]/u',?$filename)){
  8. $filename?=?md5($filename);
  9. }
  10. $filename?.=?'.'?.?$extension;
  11. return?$filename?;
  12. }
  13. add_filter('sanitize_file_name',?'upload_file',?5,1);

2014年02/21更新:wordpress上傳文件,文件名自動md5加密并截取指定長度

  1. function?rename_filename($filename)?{
  2. ????$info?=?pathinfo($filename);
  3. ????$ext?=?emptyempty($info['extension'])???''?:?'.'?.?$info['extension'];
  4. ????$name?=?basename($filename,?$ext);
  5. ????return?substr(md5($name),?0,?16)?.?$ext;?//截取前面16個字符
  6. }
  7. add_filter('sanitize_file_name',?'rename_filename',?10);

解決說明:

通過上面的代碼,就可以判定我們上傳的附件是中文還是英文,如果是中文就會將名稱自動轉化成md5值來儲存。這樣,我們上傳中文圖片的時候就不用擔心圖片的不顯示或者出現亂碼了!

 

2016/12/30

  1. function uazoh_wp_upload_filter($file){  
  2. $time=date("YmdHis");  
  3. $file['name'] = $time."".mt_rand(1,100).".".pathinfo($file['name'] , PATHINFO_EXTENSION);  
  4. return $file;  
  5. }  
  6. add_filter('wp_handle_upload_prefilter', 'uazoh_wp_upload_filter');  
有用1
  • 2013.11.23初次和大家見面了!

已擁有1人對該主題的建議

  1. 0樓
    divachen:

    需改善
    $filenfo = pathinfo($filename);
    Array
    (
    [dirname] =>,
    [basename] => 2-3-45-256,jpg
    [extension] => jpg
    [filename] => 2-3-45-256
    )

    2013-12-30 下午 5:21 [回復]

發表評論

還能輸入240個字

Hi, 歡迎加入Wordpress技術交流群,帶你裝逼帶你飛!

我要入群
也想出現在這里?聯系我們
wordpress加速

我來推薦一個更牛逼的給你看看?

  • 猛戳我吧
夫妇野外交换HD高清版,免费A片在线观看,亚洲精品国产自在现线,中国老妇人60OLDMANTV