【简单云】WORDPRESS实现上传文件自动重命名的两种方法

WordPress是一款很强大的博客程序,我们可以用wordpress还搭建各种不同的站点,CMS、博客、企业站都可以。最近简单主机www.simplehost2.com小编就用wordpress搭建了一个博客,可是每次我上传的文件名重复的话,就会覆盖原文件,如果文件名的有中文,就会出乱码。这个应该怎么办呢?下面小编提供两种方法参考:

第一种方法:

1、  使用FTP工具连接你的php虚拟主机,找到wordpress程序的根目录下的/wp-admin/includes/file.php文件,编辑,找到以下代码,如下图所示 (你也可以使用搜索功能,搜索Move the file to the uploads dir)

Wordpress实现上传文件自动重命名的两种方法 image0011 150x137

1 // Move the file to the uploads dir
2
3 $new_file = $uploads['path'] . "/$filename";
4
5 if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
6
7 return $upload_error_handler( $file,
1 sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

2、将上述代码替换为:(当然你也可以装上述代码注释,方便以后还原)

1 // Move the file to the uploads dir
2
3 $new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext;
4
5 if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
6
7 return $upload_error_handler
8
9 ( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

2、  保存file.php,这样就可以实现wordpress上传图片自动重命名了。

以上代码意思就是,保存后覆盖原文件,那么上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件。这就再也不用担心图片文件名相同而覆盖了原文件。

第2种方法:

1、在我们wordpress网站模板目录(wp-contentthemes模块文件名)下的functions.php中加入以下代码 ,直接放在functions.php文件的最后(注意是 ?> 之前,如下图)就可以。

Wordpress实现上传文件自动重命名的两种方法 image002 150x150

1 function new_filename($filename) {
2
3 $info = pathinfo($filename);
4
5 $ext = empty($info['extension']) ? ” : ‘.’ . $info['extension'];
6
7 $name = basename($filename, $ext);
8
9 return substr(md5($name), 0, 20) . $ext;
10
11 }
12
13 add_filter(‘sanitize_file_name’, ‘new_filename’, 10);

2、保存functions.php,就可以了。

以上代码将文件名称在上传过程中就自动重命名了。名字规则为系统自动生成的一个32位的MD5加密文件名。(因为32位文件名有点长,所以我们在substr(md5($name), 0, 20) 中截断了将其设置为20位).

PS:两种方法各有所长,第一种方法不会因为更换模板而导致失效,第二种方法如果更换模板就需要重新加入代码。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…