WordPress上传图片自动重命名的纯代码实现方法

2018-04-0111:02:01网站建设与开发Comments2,627 views字数 1272阅读模式

WordPress 发布文章时,经常都需要添加图片、多媒体什么的。然而,大家都知道 WordPress 是舶来物,对于中文用户来说,我们都会把图片命名为中文的,由于 WordPress 机制的原因,并不能正常的显示图片或者各种的问题。那么,如何让 WordPress 图片自动重命名然后正常显示使用呢?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

WordPress上传图片自动重命名的纯代码实现方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

现在,就和大家说说更加接地气一点的 WordPress 技巧,就是在我们上传图片的时候,能够让图片的名称自动变成英文或数字。具体有根据上传时间命名和MD5转码文件名为32位字符串两种格式的文件命名方法,只能二选一。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

一、根据上传的时间命名

1、举例说明:如2017031610182866.xxx,表示2017年3月16日10时18分28秒上传的,最后两位数字66是10到99之间的随机数,xxx表示文件类型后缀。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

2、具体实现方法:将以下代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

  1. add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
  2. function custom_upload_filter( $file ){
  3.     $info = pathinfo($file['name']);
  4.     $ext = $info['extension'];
  5.     $filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数
  6.     $file['name'] = $filedate.'.'.$ext;
  7.     return $file;
  8. }

3、具体效果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

WordPress上传图片自动重命名的纯代码实现方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

PS:我是本地测试的,不明白为什么上传时间对不上号,日期倒是对上号了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

二、文件名md5转码为32位字符串

1、举例说明:如 f78c857f04e596f4e7bcd36fddf2769f.xxx,原始文件名为admin.xxx。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

2、具体实现方法:将以下代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

  1. add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
  2. function custom_upload_filter( $file ){
  3.     $info = pathinfo($file['name']);
  4.     $ext = '.' . $info['extension'];
  5.     $md5 = md5($file['name']);
  6.     $file['name'] = $md5.$ext;
  7.     return $file;
  8. }

3、具体效果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

WordPress上传图片自动重命名的纯代码实现方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

小结

以上两种方法实现WordPress上传图片自动重命名的方法只能二选一,不可同时使用两种方法,要不然出错的话后果自负哦。经过boke112测试后,本文的两种方法都能成功实现,换句话说有了这两种方法之后,以后我们上传图片的时候再也不用担心图片文件名是中文或其他不合格的名称了,可以放心大胆地上传图片了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/2950.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/2950.html

Comment

匿名网友 填写信息

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

确定