编程 编程 关注:1 内容:65

WordPress上传文件自动重命名代码

  • 查看作者
  • 打赏作者
    • 编程
    • Lv.18
      神隐会员
      shfwpt.com

      将代码添加到当前主题functions.php模板文件中即可。

      代码一,按时间重命名

      上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20201023122221765.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位。

      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);

      请登录之后再进行评论

      登录
    • 做任务
    • 发表内容