仓酷云 发表于 2015-1-16 22:09:43

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>
</head>
<body>

<br>
作者:来历:到场日期:
<br>

</body>
</html>
  这是一个最复杂的模板了,内里的用[]括起来的是甚么东东呢?那就是行将要被交换的旧事题目、内容、作者等等。
  先不论这个模板漂不大度,先写进数据表,在前面的用的哟!
  上面将谈谈中心部分了,怎样天生HTML的呢?
  把后面的模板写进数据表,这里给出表的布局,固然是复杂的一种
Template表
T_IDID值,主动编号
T_name模板称号
T_content模板代码
  在编纂器中写好旧事后,在处置页里的实行历程是如许的:
  1、获得表单中的各变量值
  2、从Template表中获得模板代码
  3、将模板中的[]括起来的东东交换成响应的表单值,如就交换成表单中获得的作者名
  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)
content=replace(content,"",strcontent)
content=replace(content,"",source)
content=replace(content,"",author)
content=replace(content,"",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:14

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

变相怪杰 发表于 2015-1-25 20:16:59

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

山那边是海 发表于 2015-2-3 23:02:56

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

蒙在股里 发表于 2015-2-9 07:16:33

那么,ASP.Net有哪些改进呢?

分手快乐 发表于 2015-2-27 04:30:23

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

仓酷云 发表于 2015-3-8 20:50:31

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

admin 发表于 2015-3-16 15:15:16

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP编程:关于天生HTML文件的旧事体系