让主题支持wordpress上传文件自动重命名
作者:xlnxin发布时间:2021-04-15分类:WordPress教程浏览:403
导读:wordpress上传文件,如果文件名重复的话,会覆盖原文件,而中文名称的文件则会出现乱码,对于同一天上传文件较多的站点,手动修改显然很麻烦。之前介绍的《实现wordpr...
wordpress上传文件,如果文件名重复的话,会覆盖原文件,而中文名称的文件则会出现乱码,对于同一天上传文件较多的站点,手动修改显然很麻烦。之前介绍的《实现wordpress上传文件自动重命名》方法是通过修改程序源文件实现的,对于wordpress的更新速度,相当不方便。
下面介绍的方法是通过在当前主题的functions.php文件里添加相关函数代码实现。缺点是每次更换主题的时候都要重新添加一次,适合不常更换主题模板的站点;优点当然是不受wordpress程序更新的影响!
把下面的代码添加至当前主题functions.php文件:(添加在第一行的<?php下面)
1 2 3 4 5 6 7 | function rename_filename($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return substr(md5($name), 0, 20) . $ext; } add_filter('sanitize_file_name', 'rename_filename', 10); |
以上代码可以实现文件名称在上传过程中自动重命名,新的名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。
生成的文件名称如:2ba0b99abec8c19b66d7.jpg
相关推荐
- 双击excel打开不显示任何内容,只能在excel里面打开文件解决方法
- 小程序saveVideoToPhotosAlbum安卓手机可以下载MP4苹果手机不能下载解决方法
- 小程序逆向错误之 typeof3 is not a function
- 小程序e.target.dataset和e.currentTarget.dataset区别
- excel vba实现模板批量打印
- Joomla模块使用方法
- 如何优化wordpress性能提升加载速度
- 旧版本emlog5.3.1和6.0.0可以升级到pro吗?
- EXCEL双击不能直接打开EXCEL文件解决办法
- 微信小程序function函数arguments 是什么意思呢?
- WordPress教程排行
- 最近发表