wordpress附件上传重命名

wordpress附件上传重命名,在上传时间后面接上随机整数和附件原名。

把代码放入主题 functions.php 文件即可:

//使用md5对附件重命名
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
    $info = pathinfo($file['name']);
    $ext = '.' . $info['extension'];
    $filedate = md5($file['name']);
    $file['name'] = $filedate.$ext;
    return $file;
}

以上代码是把上传的附件原名称转化为md5。

//把附件名修改为上传时间
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
    $info = pathinfo($file['name']);
    $ext = $info['extension'];
    $filedate = date('YmdHis');
    $file['name'] = $filedate.'.'.$ext;
    return $file;
}

这段代码会把附件上传的时间用作附件名,同时为了避免由于并发产生的时间相同问题,我们可以把第6行修改一下,尽量规避重名的问题。

$filedate = date('YmdHis').rand(0,99);

在时间后面加上一个0到99的随机整数作为后缀,这样可以大大降低重名问题,或者看下面。

$filedate = date('YmdHis').rand(0,99).$file['name'];
$filedate = md5($filedate);

在上传时间后面接上随机整数和附件原名,然后在转成md5,同一时间上传的同名附件以及随机到同一个整数这种概率应该非常的低了吧,不然你真的可以去买彩票了,同时上面两段代码也是为了让你做一个更加直观的对比,除了第6行不一样其他地方都是一样的写法,你要是不满意上面防止重名的写法,也可以扩展你自己想要的方法进去。

原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/wp/63740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年8月28日 10:39
下一篇 2024年8月28日 10:51

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部