WordPress上传媒体文件自动重命名MD5 哈希

媒体文件重命名优势

1. 避免文件名冲突

  • 唯一性:MD5 哈希是将文件内容转换为固定长度的字符串,不同文件即使名称相同,只要内容不同,其生成的哈希值也会不同,从而有效避免文件名冲突。
  • 简化管理:即使用户上传了多个同名文件,自动生成的哈希名称可确保不会覆盖之前的文件,使得管理更加简单。

2. 增加文件安全性

  • 隐藏真实文件名:使用 MD5 哈希作为文件名可以隐藏原始文件名,进而增加安全性,防止通过文件名推测文件内容。
  • 防止篡改与猜测:用户无法通过简单猜测文件名来访问不应公开的文件,从而提高安全性。

3. 便于去重

  • 相同内容只存储一次:由于相同内容的文件会生成相同的 MD5 哈希,系统可以更容易地识别和去重,从而节省存储空间。

4. 便于版本管理

  • 追踪变化:如果对文件进行了修改,文件的 MD5 哈希会改变,因此可以有效追踪文件版本,确保系统中只保留最新的文件版本。

5. 提高查找速度

  • 根据内容查找:通过使用 MD5 哈希,可以更快地基于文件内容来识别和查找文件,而不是依赖于传统的文件名称。

6. 通用性

  • 跨平台兼容:哈希文件名不容易受到操作系统对文件名限制的影响,使得文件更具通用性

打开wp-content/themes/你的主题/functions.php文件,底部插入以下代码:

function custom_upload_filter($file) {
    // 获取文件扩展名
    $file_ext = pathinfo($file['name'], PATHINFO_EXTENSION);
    
    // 生成随机 MD5 值
    $random_md5 = md5(uniqid(rand(), true));
    
    // 创建新的文件名
    $new_file_name = $random_md5 . '.' . $file_ext;

    // 更新文件信息
    $file['name'] = $new_file_name;
    
    return $file;
}

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter');
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容