设置密码

验证码错误,请重新填写

免费建站旅程马上开始

开始建站
建站中

已有帐号?直接登录

首页>森动学院>网站建设教程 > 实现wordpress上传文件自动重命名
实现wordpress上传文件自动重命名
发布时间: 2012-11-12

wordpress 对于上传的文件默认不改变文件的原名称,这样就导致我们有时直接上传文件时,可能会导致中文文件名的文件出现乱码或其它问题,如果附件保存在同一个目录, 也可能导致文件名重复而被覆盖。而使用过dedecms的朋友都知道,系统会对上传的文件自动重命名,搜索发现可以通过修改wordpress源代码实现 文件自动重命名。

操作方法:

在wordpress程序的wp-admin/includes/目录中找到file.php文件,并进行编辑,在327行左右找到以下代码:

// Move the file to the uploads dir

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

if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )

return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

将其替换为:

// Move the file to the uploads dir

$new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext;

if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )

return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

PS:整体代码其实就是替换掉了”/$filename”;

保存后覆盖原文件,那么上传文件就会以“年月日时分秒+千位毫秒整数”的格式重命名文件了