WordPress上传文件自动重命名

  • A+
所属分类:站长

默认wordpress上传文件名称为原始名称,这样一来文章图片多了就可能命名相同,为了解决此问题,推荐两种实用简单添加代码方法。

使用方法:

将代码添加到当前主题根目录functions.php模板文件中。

代码一:

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

  1. //wordpress上传文件重命名
  2. function git_upload_filter($file) {
  3.     $time = date("YmdHis");
  4.     $file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
  5.     return $file;
  6. }
  7. add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

代码二:

说明:上传时文件名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

  1. //wordpress上传文件重命名
  2. function rename_filename($filename) {
  3.     $info = pathinfo($filename);
  4.     $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
  5.     $name = basename($filename$ext);
  6.     return substr(md5($name), 0, 20) . $ext;
  7. }
  8. add_filter('sanitize_file_name', 'rename_filename', 10);

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • SEO学习博客 SEO学习博客 1
      Google Chrome 71 Google Chrome 71 Windows 10 Windows 10

      现在很多主题几乎都自带这个功能了

      • 头条 头条 0
        Google Chrome 63 Google Chrome 63 Windows 7 Windows 7

        文章不错非常喜欢