如何修改Z-Blog PHP图片上传文件夹且不重命名
原来在用ZblogASP版本的时候,一直采用的是上传附件不自动重命名,并且按上传附件年份保存(修改代码实现),升级到ZblogPHP以后,在UEditor中上传附件时是自动重命名的。并且恢复成了按"年/月"目录保存到upload文件夹中。为了保持一致性,于是决定进行折腾,经过一中午时间的折腾,O(∩_∩)O哈哈~终于,完工了,经过多番测试,终于在ZBlogPHP实现了“上传附件不自动重命名,且按年度保存”。
一、要想实现上传的文件不自动重命名
需要修改文件,zb_users/plugin/UEditor/php/ue.config.php文件的第26行(后面修改保存路径的时候还要对此文件进行修改,可以直接跳到二、2部分查看修改内容):
代码如下: "imagePathFormat" => $upload_dir . "{yyyy}{mm}{dd}{time}{rand:6}",
将"{yyyy}{mm}{dd}{time}{rand:6}"字符串,修改成{filename}即可。也可以套用下列字符串,修改成自己需要的命名格式:
{filename} 会替换成原文件名,配置这项需要注意中文乱码问题
{rand:6} 会替换成随机数,后面的数字是随机数的位数
{time} 会替换成时间戳
{yyyy} 会替换成四位年份
{yy} 会替换成两位年份
{mm} 会替换成两位月份
{dd} 会替换成两位日期
{hh} 会替换成两位小时
{ii} 会替换成两位分钟
{ss} 会替换成两位秒
非法字符 \ => * ? " < > |
具请体看线上文档 => fex.baidu.com/ueditor/#use-format_upload_filename
这就是实现了上传图片不重新命名,如果还需要修改视频(61)、远程图片(53)、上传文件(69)的命名格式,我们只需要将相应格式下的代码修改成自己定义格式的代码,然后保存文件就可以了。
二、实现上传附件按年度保持的方法
这部分需要修改的文件主要有两类:一种是ZBLOG的系统文件;另一种是UEditor插件的相关文件。
其实修改起来很简单,就是删除一些定义“月”的代码,就可以实现将上传文件按“年”保存了。为了方便和我有同样需求的博友们,特将一中午的折腾成果分享给大家。具体的修改方法如下:
1、网站根目录下的zb_system/function/lib/upload.php文件,我们将它打开,然后移动到文件的第163行,代码如下
return 'upload/' .date('Y',$this->PostTime) . '/' . date('m',$this->PostTime) . '/';
这句代码控制的是文件上传的目录,我们可以根据自身情况进行修改,我现在使用的格式为"upload/年份",即:
return 'upload/' .date('Y',$this->PostTime) . '/';
该格式的具体效果可以参考本博图片。
2、修改前面用你的的文件,即zb_users/plugin/UEditor/php/ue.config.php文件第8行,它的路径需要与第一个文件修改后的路径相同(调用函数时要把",$this->PostTime"删除)。
如果是采用了我的那种格式,找到代码:$upload_dir = 'zb_users/upload/' . date('Y/m') . '/';
则代码需修改为:$upload_dir = 'zb_users/upload/' . date('Y') . '/';
3、修改zb_users/plugin/UEditor/php/uploader.class.php文件的第320行
找到 return $blogpath . 'zb_users/upload/' . date('Y/m') . '/' . $fileName;
替换为 return $blogpath . 'zb_users/upload/' . date('Y') . '/' . $fileName;
4、修改zb_users/plugin/UEditor/ueditor.config.php第11行,
找到 $upload_dir = 'zb_users/upload/' . date('Y/m') . '/';
修改为:$upload_dir = 'zb_users/upload/' . date('Y') . '/';
修改完成后,默认上传的路径就修改成功了。
注意:这种方法不是改一个zblog模板,而是彻底的修改程序上传路径,如果把zblogPHP程序的图片上传路径全部打乱,而后想恢复,就会有一些麻烦,所以新手此种方法新手慎重!
目录 返回
首页