WordPress上传自动重命名文件名为日期时间格式

WordPress是一个强大的开源的Blog系统,可以使用该系统搭建CMS网站、企业网站、个人网站丰富的模板和高度的自定义可以供我们发挥想象。但是有些技巧我们要知道,今天就就说下后台多媒体上传文件自动重命名为日期时间格式。

大家用过这个系统的都知道后台上传文件比方说你上传的文件名是abc.jpg那么上传上去的文件名就是abc.jpg,时间久了如果在上传就会重复也不方便管理。如果是用中文文件名还会造成乱码,无法显示图片等乱七八糟的问题。那么可以让上传的文件自动更改为日期时间的格式吗?可以通过修改系统文件源代码来实现。要修改的资料如下:

1、打开WordPress程序的根目录下的/wp-admin/includes/file.php文件。大概位置在327到334行之间。或者搜索:// Move the file to the uploads dir.来定位要修改的位置。

完整的代码如下:

// Move the file to the uploads dir.  
$new_file = $uploads['path'] . /$filename;  
if ( 'wp_handle_upload' === $action ) {  
$move_new_file = @ move_uploaded_file( $file['tmp_name'], $new_file );  
} else {  
$move_new_file = @ rename( $file['tmp_name'], $new_file );  
}  
if ( false === $move_new_file ) {  
if ( 0 === strpos( $uploads['basedir'], ABSPATH ) ) {  
$error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];  
} else {  
$error_path = basename( $uploads['basedir'] ) . $uploads['subdir'];  
}  
return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );  
}

2、我们主要修改的是以下这一句代码即可。

$new_file = $uploads['path'] . /$filename;

3、将上面的代码修改为以下代码,代码的意思是“年月日时分秒+千位毫秒整数”的格式重命名文件。

$new_file = $uploads['path'] . /.date(YmdHis).floor(microtime()*1000)...$ext; /*上传重命名为时间格式*/

4、修改后完整的代码如下,我没有删除掉原来的代码只是注释掉方便以后看修改了那个地方。

// Move the file to the uploads dir.  
//$new_file = $uploads['path'] . /$filename;  
$new_file = $uploads['path'] . /.date(YmdHis).floor(microtime()*1000)...$ext; /*上传重命名为时间格式*/  
if ( 'wp_handle_upload' === $action ) {  
$move_new_file = @ move_uploaded_file( $file['tmp_name'], $new_file );  
} else {  
$move_new_file = @ rename( $file['tmp_name'], $new_file );  
}  
if ( false === $move_new_file ) {  
if ( 0 === strpos( $uploads['basedir'], ABSPATH ) ) {  
$error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];  
} else {  
$error_path = basename( $uploads['basedir'] ) . $uploads['subdir'];  
}  
return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );  
}

相关文章

我想将wordpress的默认接口路由改掉,愿意是默认的带一个 wp...
wordpress自定义分类法之后,我看到链接都自动在后面添加了一...
事情是这样的,我用 get_post_type 函数创建了一个自定义分类...
最近网站莫名其妙的被顶上了,过一个多小时,就注册一个账号...
最近服务器要到期了,就想着把网站转移到另外一台服务器,本...
今天在写wordpress的接口,然后碰到个奇怪的问题,怎么访问都...