利用MD5方式WordPress附件乱码和名字重复

WordPress在上传附件的时候,会检测附件的名称,自动对重名名字的附件做加法重命名,例如:"face.jpg",如果再传一张相同的“face.jpg”,那么第二张图将会被重命名为“face-1.jpg”。

还有一个问题是中文可能导致乱码,特别是Linux服务器,对编码要求非常严格,如大小写,也有可能部分Linux没有中文字体,附件就会出现乱码。

用 md5 去将附件进行重命名,这样既可以防止乱么,也不会出现"face-1.jpg"这种情况了。具体方法是在 WordPress主题 中的 functions.php 文件插入:

function make_filename_md5($filename) {
	$info = pathinfo($filename);
	$ext  = empty($info['extension']) ? '' : '.' . $info['extension'];
	$name = basename($filename, $ext);
	return md5($name) . $ext;
}
add_filter('sanitize_file_name', 'make_filename_md5', 10);

发表评论

电子邮件地址不会被公开。 必填项已用*标注