主题:  请教FSO的问题

5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
#12002/4/26 20:11:35
小弟正做一个把数据库内容写成静态htm页的新闻系统,当然要用到FSO,不过程序在本地测试没问题,传到服务器就不行了(服务器是支持FSO的,原先我在上面试过一个类型的程序),我估计是FSO里的路径设置问题,小弟是个菜鸟还请各位高手们指教。

我的代码是:
<%
Dim N_Title
Dim N_Content
Dim N_Date
Dim fname
Dim filepath
fname = makefilename(now()) '文件名

N_Title=Request.Form("texTitle")
N_Content=Request.Form("texContent")
N_Date=Request.Form("h_Date")

filepath=Server.MapPath("newsfile\"&fname)  ' 路径,newsfile文件夹已存在的

pencat=rs.Fields.Item("E_Meno").Value  '新闻模板的数据库记录
pencat=replace(pencat,"E_Title",N_Title)
pencat=replace(pencat,"E_Content",N_Content)
pencat=replace(pencat,"E_Date",N_Date)
'把数据动态内容写成静态文件
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(filepath)
fout.WriteLine pencat
fout.close
%>



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#22002/4/26 22:31:05
可能服务器不支持这样的路径方式.换成/ 的根目录方式试试.



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
#32002/4/27 22:08:08
应该不会的,我上传测试的那个新闻程序也是用的“\”



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#42002/4/27 22:17:38
不是啦,我是说直接根目录/xxx/xxx...
因为有的服务器为了安全不支持相对路径.



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
#52002/4/28 0:55:36
我上传测试的程序是用相对路径的!!



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#62002/4/28 9:06:11
makefilename(now())

检查这个函数,你怎么改的时间获得文件名的?
因为本地时间一般是yyyy-MM-dd的格式.
而NT服务器的时间格式一般是yyyy/MM/dd
注意兼容.

如果还是不对的话,贴出错误信息



让你笑了

职务:普通成员
等级:1
金币:0.0
发贴:14
#72002/4/28 10:35:19
前天还运行的很好,FSO还有呢,可是今天运行的时候就告诉不能创建SCRIPTING.FILESYSTEMOBJECT,总是错误,还有'Scripting.Dictionary' 也不能创建,这些好象都是IIS自带的吧,为什么我这会有问题不能创建呢???而且前些天还可以.
我用探针发现好多IIS自带的组件都不能用,这是不是在IIS那里面配置啊,如果是的话在那里??如果不是,那么改如何解决这问题???

急需,请指教!!!谢先!



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#82002/4/29 16:39:07
这种问题。。。卸了IIS,再装



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
#92002/4/29 23:12:16
deepdark在上个帖子中说
引用:
makefilename(now())

检查这个函数,你怎么改的时间获得文件名的?
因为本地时间一般是yyyy-MM-dd的格式.
而NT服务器的时间格式一般是yyyy/MM/dd
注意兼容.

如果还是不对的话,贴出错误信息


这个函数你看看
<%
function makefilename(fname)
  fname = now()
  fname = replace(fname,"-","")
  fname = replace(fname," ","") 
  fname = replace(fname,":","")
  fname = replace(fname,"PM","")
  fname = replace(fname,"AM","")
  fname = replace(fname,"上午","")
  fname = replace(fname,"下午","")
  makefilename=fname & ".htm"
end function 
%>



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#102002/4/29 23:17:04
多加一个替换/的试试。
NT服务器的时间格式是/
如果不替换的话,文件名就变成目录:2002/04/29/。。