LYP.CN

WordPress上传图片重命名

wordpress在上传文件的时候默认是直接使用文件原名,虽然前台展示的时候文件名都会经过urlencode,但考虑到部分服务器对中文文件名的支持不是太理想,所以如果上传的文件是中文文件名,就可能导致某些错误。因此我们需要对wp的源代码做一点小小的改动,强制上传文件的时候进行重命名(比如以当前时间来命名),从而避免由于服务器环境导致的中文文件名附件的丢失等问题。
具体修改的文件为wp-admin/includes/files.php
找到
// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
if ( $proper_filename )
$file['name'] = $proper_filename;

将$file[‘name’] = $proper_filename;这一行注销,增加下面几句即可:
$time=date("YmdHis");
$type_change = array('image'=>'.');
$file_type = strtr($file['type'],$type_change);
$file['name'] = $time."".mt_rand(1,100)."".$file_type ;

以下图片是个测试:
林毅鹏博客

(1988次阅读)

已有 2 条评论 腾讯微博
  1. 呆云

    不明觉厉。

    2014年2月19日 18:52 回复
  2. xiaolin

    这是一个评论测试。

    2014年2月19日 18:28 回复