|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。天生html|旧事体系 一样平常的传送ID值的旧事体系见得对照多,制造起来也不是很庞大。
可是我们在新浪或是别的的流派类网站看到到的旧事不是用ID传送的,而是一个HTML或是Shtml文件,岂非手工加上往的吗?固然不是了,实在这用到的是ASP中的FileSystemObject工具的办法。
接着往下说说怎样完成这一功效。
起首思索文件名的格局及文件的寄存路径。
路径能够如许假定:
寄存的路径:假如把一切的HTML文件或是一切的SHTML文件都放在统一目次下,当同时会见的人增加今后,必将会影响服务器一般的运转,以是明智的办法就是把这些文件按到场的日期举行分类。
文件名的格局:
为了不呈现重名的文件,一样平常的定名划定规矩是当天的日期+工夫+随机数+后缀名。
functionmakefilename()
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,"下战书","")
randomize
ranNum=int(90000*rnd)+10000天生随机数
fname=fname&fanNum
makefilename=fname&".shtml"
endfunction
这段函数就能够天生所必要的文件名及天生的文件的后缀名,以后的后缀名为.shtml,您也能够改成HTML或是ASP。
刚提到的是文件的定名,如今再来讲一下文件的寄存路径!
后面提到了,每一个文件按到场的日期举行分类,那怎样断定路径呢?一样用FSO天生。
用FSO中的folderExists方面来判别目次是不是存在,假如存在就不必要重修立了,只需将HTML写进该目次下(这是后话了)。假如folderExists办法获得的值为false则暗示目次不存在,就要用createfolder办法天生了。
formPath=datepart("yyyy",now())&"_"&datepart("m",now())&"_"&datepart("d",now())创建目次名,天生的文件将按寄存在此处
setobjfso=server.createobject("scripting.filesystemobject")
ifnotobjfso.folderexists(server.mappath(formPath))then假如该目次不存在
objfso.createfolder(server.mappath(formPath))创立一个文件夹
endif
setobjfso=nothing
目次就如许创建了。每次FSO天生文件时都举行判别一下,不外如许不晓得会不会影响效力,人人能够有甚么好的设法能够谈一谈。
先看一个模板:
<html>
<head>
<title>柠檬树下----[title]</title>
</head>
<body>
[news_title]
<br>
作者:[author]来历:[source]到场日期:[add_time]
<br>
[content]
</body>
</html>
这是一个最复杂的模板了,内里的用[]括起来的是甚么东东呢?那就是行将要被交换的旧事题目、内容、作者等等。
先不论这个模板漂不大度,先写进数据表,在前面的用的哟!
上面将谈谈中心部分了,怎样天生HTML的呢?
把后面的模板写进数据表,这里给出表的布局,固然是复杂的一种
Template表
T_IDID值,主动编号
T_name模板称号
T_content模板代码
在编纂器中写好旧事后,在处置页里的实行历程是如许的:
1、获得表单中的各变量值
2、从Template表中获得模板代码
3、将模板中的[]括起来的东东交换成响应的表单值,如[autor]就交换成表单中获得的作者名
4、FSO天生HTML文件
5、将旧事写进数据表(为何要写进?以便今后的编纂)
这里查询模板
strsql="select*fromtempletwhereT_name="&templet_name&""
objrs.openstrsql,conn,1,1
content=objrs("content")
objrs.close
入手下手交换,个中的title/strcontet都是从表单中获得的,后面的代码略往
content=replace(content,"[title]",title)
content=replace(content,"[content]",strcontent)
content=replace(content,"[source]",source)
content=replace(content,"[author]",author)
content=replace(content,"[add_time]",now())
然后将旧事写进数据表
strsql="insertintonews---------------"
conn.executestrsql,intno实行之
ifintno0then假如实行了局不为0暗示实行乐成,则入手下手写进了
setobjfso=server.createobject("scripting.filesystemobject")
formPath=datepart("yyyy",now())&"_"&datepart("m",now())&"_"&datepart("d",now())创建目次名,天生的文件将按寄存在此处
filename=server.mappath(formpath&"/"&makefilename)
ifobjfso.folderexists(server.mappath(formPath))then假如该目次存在
Setfile=objfso.CreateTextFile(formpath&""&fname)
file.WriteLinecontent
file.close
else
objfso.createfolder(server.mappath(formPath))创立一个文件夹
Setfile=objfso.CreateTextFile(formpath&""&fname)
file.WriteLinecontent
file.close
endif
setobjfso=nothing
else
response.write"写进数据失利!"
response.end
endif
编纂时不过就是从头从数据表中挪用该旧事内容,update后从头用FSO写进!无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的; |
|