利用MD5 16位 + 时间戳,防止WordPress附件乱码

之前我写的利用MD5方式WordPress附件乱码和名字重复这种方法不是很完美,如果连续上传2个及其以上的文件,命名一模一样,那么MD5都是一样,这就形成了文件名是“MD5-*",这种形式。是不是又回到了WordPress自带的那种“文件名-ID”这种方式了。

现在我更新下,换成了 MD5 16位 + 时间戳,防止WordPress附件乱码:

function make_filename_md5($filename) {
    $info = pathinfo($filename);
    $ext  = empty($info['extension']) ? '' : '.' . $info['extension'];
    $name = basename($filename, $ext);
    $strtotime = strtotime(date('Y-m-d H:i:s'));
    return substr(md5($name), 8, 16).$strtotime. $ext;
}
add_filter('sanitize_file_name', 'make_filename_md5', 10);

发表回复

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