WordPress 实现附件上传自动重命名但不改变附件标题

WordPress 上传媒体文件时,默认会保持文件名不变。如果上传文件名中包含中文字符,则会造成部分浏览器显示的文件 URL 疑似乱码甚至无法访问。网上流行较广的是通过注册  wp_handle_upload_prefilter 过滤器实现,但是该方案在重命名文件的同时也会将附件的标题修改,造成数据丢失。本篇文章将介绍一种既能自动重命名文件名且不改变附件标题的方法。

将以下代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。

1 function wp_coderbusy_sanitize_file_name( $filename ) {
2     $time = date("YmdHis");
3     return $time . "" . mt_rand(1000, 9999) . "." . pathinfo($filename, PATHINFO_EXTENSION);
4 }
5
6 add_filter( ‘sanitize_file_name‘, ‘wp_coderbusy_sanitize_file_name‘, 10, 1 );

原文地址:https://www.coderbusy.com/archives/677.html

时间: 2024-08-05 03:26:31

WordPress 实现附件上传自动重命名但不改变附件标题的相关文章

WordPress 中文图片 上传 自动重命名

WordPress 中文图片 上传 自动重命名 由于国人很少有在上传图片前将图片名重命名为英语的,所以自动重命名对于WP来说尤为重要,特别是LINUX的不支持中文名的. WordPress上传多媒体的代码都存放于\wp-admin\includes\里面的file.php,打开这个文件,filename=wpuniquefilename(uploads['path'], file[′name′],unique_filename_callback );// Move the file to the

django如何给上传的图片重命名(给上传文件重命名)

1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: # -*- coding: UTF-8 -*- from django.core.files.storage import FileSystemStorage from django.http import HttpResponse class ImageStorage(FileSystemStorage): from django.conf

WordPress实现上传文件自动重命名

打开"wp-admin/includes/file.php"文件的第365行代码,原文是这样的: 可以看出,文件并没有自动重命名,因此我们只需要把圈起来的哪一行进行修改即可实现上传文件时自动重命名的效果,具体修改成下面这种形式: $new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext; 这段代码的意思是以当前时间的字符

提取论文标题并自动重命名pdf文件

在我们确定一个研究课题之后,我们总是会先下载一堆相关的paper,看看这个领域现在已经做到一个什么地步,也看看别人是怎么做的,后面自己写paper的时候可以参考参考.当我们把相关的文章都下载到一个文件夹之后,有一个问题,一般我们从IEEE或是ACM相关站点下载的PDF文件的文件名不是相应文章的标题.我们希望文件名尽量能够反映文件的主要内容,文章的标题显然是最能概括文张内容的.昨天上午,一个小时的时间就花在把下载下来的文件重命名上了.因为太费时间,想自己写个简单的小程序来完成这个工作.上网一找,嗬

asp.net结合uploadify实现多附件上传

1.说明 uploadify是一款优秀jQuery插件,主要功能是批量上传文件.大多数同学对多附件上传感到棘手,现将asp.net结合uploadfiy如何实现批量上传附件给大家讲解一下,有什么不对的地方还请大家多多交流沟通,下面把代码贴出来大家一起交流. 2.组成 首先说明一下代码实现所用到的技术,仅供参考: 开发工具:vs2010 目标框架:.NET Framework3.5 Uploadify:uploadify-v3.1 Jquery:jquery-1.8.1.js 最后我会将整个Dem

修改帝国CMS默认图片附件上传路径

帝国CMS系统设置中的"附件地址"设置是不生效的,无论设置成什么都还是在 d/file/ 下,下面牛教程介绍手动修改附件存放地址的方法. 一:先在系统设置中将"附件地址"一项修改为自己想要的地址,这里以 /upload/ 为例. 二:修改 /e/class/connect.php 文件,将文件中所有 d/file/ 替换为 upload/ 值,修改位置在2964行左右. 三:手动创建 upload 文件夹. 修改这三项后就算成功修改附件上传路径了. 需要注意的是,如

Springmvc file多附件上传 显示 删除操作

之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于springmvc附件上传 所需jar包 commons.fileupload-1.2.0.jar commons.io-1.4.0.jar 这个是我使用的jar包有需要的可以直接百度网盘下载 里面有好几个版本 自行选择 放在lib下面 使用的话maven 直接下载也可以 链接:https://pa

基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

很久之前,当我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中如何使用这个组件进行文件上传的,当时上传文件的处理主要也是使用ashx一般处理程序来进行处理的.本文主要介绍我的Web开发框架中,在MVC4的环境中如何集成这个非常棒的文件上传组件的. 1.上传组件uploadify的说明及脚本引用 Uploadify 是 JQuery 一个著名的上传插件,利用 Flash

基础资料功能开发(附件上传、查看,获取当前用户信息、时间)

1.数据库建表.SYS_MODULE挂菜单.给菜单添加权限 2.创建Action.Dao.model.service... 3.struts-aqxx.xml配置 <action name="zlaqJczl/*" method="{1}" class="com.tech15.aqxx.action.ZlaqJczlAction"> <result name="*" type="direct&quo