实现wordpress上传中文名称图片文件自动重命名的方法

众所周知wordpress程序会因为个别服务器的配置环境原因,对中文路径和中文图片名称的解析能力是非常差的,在个别的路径和文章打开时会出现无法显示的情况,所以我们可以用这个简单的代码操作方法来实现上传图片后的自动重命名,让他图片或是文件自动生成一个随机的文件编号,这样就不会出现中文图片文件无法显示的问题了,接下来教大家怎样操作。

把下面的代码添加至当前主题functions.php文件:(添加在第一行的

  1. function rename_filename($filename) {
  2. $info = pathinfo($filename);
  3. $ext = empty($info['extension']) ? '' : '.' . $info['extension'];
  4. $name = basename($filename, $ext);
  5. return substr(md5($name), 0, 20) . $ext;
  6. }
  7. add_filter('sanitize_file_name', 'rename_filename', 10);

以上代码可以实现文件名称在上传过程中自动重命名,新的名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

喜欢