共计 1065 个字符,预计需要花费 3 分钟才能阅读完成。
代码一:按时间重命名
上传文件时会以“年月日时分秒 + 千位毫秒整数”的格式重命名文件,如“20180519122221765.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’);
源码来自 https://mrju.cn/3407.html
代码二:用 MD5 加密生成数字并重命名
名称规则是由 系统自动生成的一个 32 位的 MD5 加密文件名 ,由于默认生成的 32 位文件名有点长,所以使用substr(md5($name),0,20) 截断将其设置为 20 位。
- //wordpress 上传文件重命名
- 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);
使用方法
将代码添加到当前主题 functions.php 模板文件中即可。
推荐“代码一”的方式来自动命名,因为这是最简便的一个方式了,名字长度也在可接受范围。同时上述两段代码都避免了上传含有中文字符名称图片带来的数据迁移造成名称乱码的问题,兼容性非常的好。
以上代码,很方便,节省时间
正文完