wordpress对于上传的文件默认不改变文件的原名称,有博主可能由于文件量大而不愿意逐个重命名文件,如果直接上传的话,可能会导致中文文件名的文件出现乱码或其它问题,如果附件保存在同一个目录,也可能导致文件名重复而被覆盖。之前使用zblog、dedecms等程序时,系统都会对上传的文件自动重命名,搜索发现可以通过修改wordpress源代码实现文件自动重命名。
操作方法
在wordpress程序的wpadminincludes目录中找到file文件,并进行编辑,在327行左右找到以下代码:
- Movethefiletotheuploadsdir
- $new_file=$uploads['path']."$filename";
- iffalse===@move_uploaded_file$file['tmp_name'],$new_file
- return$upload_error_handler$file,sprintf__'Theuploadedfilecouldnotbemovedto%s.',$uploads['path'];//将其替换为
- Movethefiletotheuploadsdir
- $new_file=$uploads['path']."".date"YmdHis".floormicrotime 1000.".".$ext;
- //Vevb.com
- iffalse===@move_uploaded_file$file['tmp_name'],$new_file
- return$upload_error_handler$file,sprintf__'Theuploadedfilecouldnotbemovedto%s.',$uploads['path'];
PS 整体代码其实就是替换掉了"$filename";
保存后覆盖件,那么上传文件就会以年月日时分秒+千位毫秒整数的格式重命名文件了,如.jpg。
新闻热点
疑难解答
图片精选