仓酷云

标题: ASP编程:关于天生HTML文件的旧事体系 [打印本页]

作者: 仓酷云    时间: 2015-1-16 22:09
标题: ASP编程:关于天生HTML文件的旧事体系
使用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的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
作者: 小魔女    时间: 2015-1-18 21:19
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 变相怪杰    时间: 2015-1-25 20:16
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 山那边是海    时间: 2015-2-3 23:02
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 蒙在股里    时间: 2015-2-9 07:16
那么,ASP.Net有哪些改进呢?
作者: 分手快乐    时间: 2015-2-27 04:30
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 仓酷云    时间: 2015-3-8 20:50
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: admin    时间: 2015-3-16 15:15
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2