始于出生
终于陨落

WordPress上传文件自动重命名的方法

WordPress添加媒体文件时,默认会保留上传文件的原文件名;但是有时候会出现新文件名与旧文件名相同的情况,这时就需要文件自动重命名了。

时间重命名

上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20200918121028568.jpg”

//WordPress上传文件按时间重命名
function git_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','git_upload_filter');

MD5重命名

由系统自动生成的一个32位的MD5校验文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

//WordPress上传文件按MD5重命名
function rename_filename($filename) {
$info = pathinfo($filename);
$ext = emptyempty($info['extension'])?'':'.'.$info['extension'];
$name = basename($filename, $ext);
return substr(md5($name), 0, 20).$ext;
}
add_filter('sanitize_file_name', 'rename_filename', 10);

使用方法

将代码添加到当前主题functions.php模板文件中即可;还有插件、部分主题自带重命名功能,使用它们同样能达到效果。

转载请注明出处:风之暇想博客 » WordPress上传文件自动重命名的方法

分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

立即登录   注册

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写后到邮箱中点击链接,以完成账号注册和激活(如未收到,请检查垃圾箱;国外IP禁止注册)