问题由来
涌现这类问题是因为小编在一样平常生活中运用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 ;
}
add_filter('sanitize_file_name', 'upload_file', 5,1);
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; //截取前面16个字符
}
add_filter('sanitize_file_name', 'rename_filename', 10);
处理申明:
经由过程上面的代码,就可以剖断我们上传的附件是中文照样英文,假如是中文就会将称号自动转化成md5值来贮存。如许,我们上传中文图片的时刻就不必忧郁图片的不显现或许涌现乱码了!
2016/12/30
function uazoh_wp_upload_filter($file){
$time=date("YmdHis");
$file['name'] = $time."".mt_rand(1,100).".".pathinfo($file['name'] , PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'uazoh_wp_upload_filter');

评论列表