WordPress上传文件,图片时自动实现以日期格式重命名-WordPress开发教程

正常的情况下,我们在WordPress后台上传文件,或者是上传图片的时候,默认的就是您上传时的命名,一般情况下,我们都不会去更改这个命名,但或许有的朋友,会有一些其它的要求,所

正常的情况下,我们在WordPress后台上传文件,或者是上传图片的时候,默认的就是您上传时的命名,一般情况下,我们都不会去更改这个命名,但或许有的朋友,会有一些其它的要求,所以就有这个功能出现了,我们在上传文件,或者是图片时自动实现以日期格式重命名.

当然,还有的博主由于文件量大而不愿意逐个重命名文件,有的会把图片命名为中文的,由于WordPress的机制的原因,如果直接上传的话,可能会导致中文文件名的文件出现乱码或不能正常的显示图片或者各种的问题。

这个规则,我们现在的代码,是以日期格式来操作的,如果您有其它的要求,可以自行修改.

当我们的图片上传以后,文件能在我们上传的时候自动变成英文或数字。在你的模板 functions.php中加入以下代码并保存,就可以实现中文文件名称在上传过程中的自动重命名了。

按日期格式

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

当上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件了,如“20170326062723.jpg”

2017年4月1日 01:47:32更新

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

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/121701

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注