你是否遇到这样的需求,网站上传图片的时候有中文名称,在以后迁移网站的时候会经常遇到乱码的问题,这时候你需要在文件上传的过程中自动重新命名为字符串的形式。
但是你又不想把所有文件都重新命名,那么你需要这样子的方法
/**
* 上传的文件重命名
*/
function rename_filename($filename) {
$info = pathinfo($filename);
$ext = empty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($filename, $ext);
if(!in_array(strtolower($info['extension']), ['jpg','jpeg','png', 'gif']))
{
return $name;
}
return substr(md5($name), 0, 20) . $ext;
}
add_filter('sanitize_file_name', 'rename_filename', 10);
add_theme_support('category-thumbnails');
在另一篇文章中我们有讲到,将上传的文件重命名,
https://www.shejiku.net/wordpresschongmingming.html
这个可以做到重新命名没有问题,但是没有做过滤,所有文件都做了重新命名,那么在有些插件使用过程中就会出现意想不到的错误。