有朋友使用sdcms1.31做了一个网站,反馈说在上传文件时总是提示:该文件不允许被上传。于是通过网站代码和数据跟踪了一下发现了一个bug,当然,只需要修复这个BUG就可以正常上传的。那如何可以做呢?
以下先来分析一下网站代码:
上传附近是通过admin目录下的Sdcms_Editor_Up.asp来提交的,当文件名中含有.时就会出错,如 做网站视频22.53秒.rar
跟踪发现它使用的风声组件上传,在inc/upload.asp中的第166行,取文件扩展名方法
if Instr(strFnam,".")<>0 then
strFext=Mid(strFnam,InstrRev(strFnam,".")+1)
else
strFext=""
end if
InstrRev是取最后一次出现的位置,理论上像 做网站视频22.53秒.rar这样的文件名没有问题。
再跟踪发现,它的默认编码是gb2132,Sdcms_Editor_Up.asp上传使用的编码也是bg2132,于是像 做网站视频22.53秒.rar这样的文件名,就会变成乱码,如****.?*rar这样的,取到的扩展名是?*rar,所以程序报错,总是提示,该文件不允许被上传。
将上传编码改成utf-8,问题解决(UpLoad.Charset="utf-8")。
备注:部分网站模板整理自网络,如有侵权,请及时与我们沟通处理。
如若看不到文章内容及下载地址,注册免费会员既可。
更多好看的企业SDCMS模板可加QQ群:

读完这篇文章后,您心情如何?