27
2013
04

如何使ZBlog2.0上传附件不自动重命名,且按年度保存

 

原来在用Zblog1.8的时候,一直采用的是上传附件不自动重命名,并且按上传附件年份保存(修改代码实现),升级到Zblog2.0以后,在UEditor中上传附件时是自动重命名的。并且恢复成了按"年/月"目录保存到upload文件夹中。为了保持一致性,于是决定进行折腾,经过一中午时间的折腾,O(∩_∩)O哈哈~终于,完工了,经过多番测试,终于在2.0实现了“上传附件不自动重命名,且按年度保存”。

一、要想实现上传的文件不自动重命名

要修改zb_system\admin\ueditor\asp\fileup.asp、imageUp.asp文件中的objUpload.Save(uEditor_ASPFormName,数字)语句,将数字0改成1、或者1改成0(个人理解如果数值为0,则默认为自动重命名上传文件;若数值为1,则不自动重命名)。

 

二、实现上传附件按年度保持的方法
   总共需要修改两个主要的文件:ZB_system/function/文件夹下的c_system_lib.asp、c_system_manage.asp!
   其实修改起来很简单,就是删除一些定义“月”的代码,就可以实现将上传文件按“年”保存了。为了方便和我有同样需求的博友们,特将一中午的折腾成果分享给大家。具体的修改方法如下:
   1、修改c_system_lib.asp文件(要修改三个部分的代码):
(1)如果自己以前没有修改过的话,应该是4055行:       
strFilePath = BlogPath & ZC_UPLOAD_DIRECTORY & "/" & Year(objRS("ul_PostTime")) & "/" & Month(objRS("ul_PostTime")) &"/" & objRS("ul_FileName")
替换为:       
strFilePath = BlogPath & ZC_UPLOAD_DIRECTORY & "/" & Year(objRS("ul_PostTime"))&"/" & objRS("ul_FileName")
也就是去掉了代码:& "/" & Month(objRS("ul_PostTime")) 
 
(2)如果自己以前没有修改过的话,应该是3999行:       
strUPLOADDIR = ZC_UPLOAD_DIRECTORY&"/"&Year(GetTime(Now()))&"/"&Month(GetTime(Now()))      
替换为:       
strUPLOADDIR = ZC_UPLOAD_DIRECTORY&"/"&Year(GetTime(Now()))
(3)自己以前没有修改过的话,应该是4077行       
strUPLOADDIR = ZC_UPLOAD_DIRECTORY&"/"&Year(GetTime(Now()))&"/"&Month(GetTime(Now()))  
改成       
strUPLOADDIR = ZC_UPLOAD_DIRECTORY&"/"&Year(GetTime(Now()))  
 (2)和(3)两处也就是去掉了代码:&"/"&Month(GetTime(Now())) 

  2、修改c_system_manage.asp文件(在Manager Files表单中找到如下代码(在764行左右):
htm = htm& "<td><a href='"& BlogHost & ZC_UPLOAD_DIRECTORY &"/"&Year(objRS("ul_PostTime")) & "/" & Month(objRS("ul_PostTime")) & "/"&Server.URLEncode(objRS("ul_FileName"))&"' target='_blank'>"&Year(objRS("ul_PostTime")) & "/" & Month(objRS("ul_PostTime")) & "/" &objRS("ul_FileName")&"</a></td>"
修改成:    
htm = htm& "<td><a href='"& BlogHost & ZC_UPLOAD_DIRECTORY &"/"&Year(objRS("ul_PostTime"))  & "/"&Server.URLEncode(objRS("ul_FileName"))&"' target='_blank'>"&Year(objRS("ul_PostTime")) & "/" &objRS("ul_FileName")&"</a></td>" 
也就是去掉了两个代码: & "/" & Month(objRS("ul_PostTime")) 

注意:经过这两个文件的修改,只能实现后台【附件管理】中上传附件到分年度的文件夹中,如果要在UEditor中上传的文件中实现分年度还要修改如下几个文件:
1、zb_system/ADMIN/ueditor中的文件editor_config.asp中:
strUPLOADDIR = Replace(ZC_UPLOAD_DIRECTORY&"/"&Year(GetTime(Now()))&"/"&Month(GetTime(Now())),"\","/")

2、以及zb_system/ADMIN/ueditor/asp文件夹中的fileUp.asp、imageUp.asp、scrawlUp.asp等三个文件。
分别找到文件中对应的语句:strUPLOADDIR = ZC_UPLOAD_DIRECTORY&"\"&Year(GetTime(Now()))&"\"&Month(GetTime(Now()))
将&"\"&Month(GetTime(Now()))删除。

3、然后再将zb_system/ADMIN/ueditor/asp文件夹中imageManager.asp文件的
strResponse=strResponse&Replace(ZC_UPLOAD_DIRECTORY &"/"&Year(objRS("ul_PostTime")) & "/" & Month(objRS("ul_PostTime")) & "/"&objRS("ul_FileName")&uEditor_Split,"%","%25")
将& "/" & Month(objRS("ul_PostTime"))删除。

 原文:http://www.wu2007.cn/post/2013/521.html

« 上一篇下一篇 »

相关文章:

评论列表: