asp自动生成html文件器,ASP自动生成HTML文件方法

首先这项技术的优点是:(1)减轻数据库的压力;(2)把数据库和页面隔离开来

然后给大家讲一下实现原理..

ASP生成HTML其实是使用服务器的FSO内置对象..

其定义方法为

set fs=createobject("scripting.filesystemobject") \\'设置FSO对象

在建立FSO对象后就可以对服务器进行文件及文件夹管理操作...

所以在服务器新建一个网页文件也是很轻松的事...

sub SaveText(FileName,Data) \\'这是一个用于写文本文件的过程

dim fs,ts,path \\'定义变量

set fs=createobject("scripting.filesystemobject") \\'设置FSO对象

if instr(filename,":\\\\")<>0 then \\'判断是不是绝对路径

path=filename

else

path=server.MapPath(FileName)

end if

set ts=fs.createtextfile(path,true) \\'创建文件对象

ts.writeline(data) \\'写数据

ts.close \\'关闭对象

set ts=nothing

set fs=nothing

end sub

这是一个建立所在类型文件的子程序..

对重要语句都给了一定的注释...

功能就是向服务器的指定路径创建一个文件并将数据写进去..

其调用方式为:

savetext "D:\\\\chris.html","chris"

大家可以在自己的电脑上试一下..

第一个参数为Chris.html

文件内容为chris

了解了创建文件的原理之后就可以对网站进行批量网页生成..

但是在生成以前我们必须得为生成的页面制作一个模板...

下面我举个例子..

Mode.asp

------------------

-> ->

摘自:  

发布时间:  浏览次数:

这是一个模板文件....

下面要做的操作就是制作一个生成页面...

这个生成页面要做的工作是将Mode.asp的文件内容读出.然后将其需要动态替换的地方替换成需要的内容..

set fso=server.CreateObject("scripting.filesystemobject") \\'创建一个FSO对象

set myfile=fso.getfile(filepath) \\'设置一个文件对象..filepath就是这个模板文件的名称

set ts=myfile.openastextstream \\'设置一个文本对象..并打开这个对象...

if not ts.atendofstream then content=changecontent(ts.readline)

do while not ts.atendofstream

content=content+vbcrlf

content=content+changecontent(ts.readline)

loop

将模板文件的内容赋值到content变量里...

再对其模板内容处理后生成新的网页文件...

例如

Replace(content,"",title)

将模板文件的替换为文章标题...

其他的Content,Time,Browse以此类推...

Content进行处理后就是一个完整的网页文件..

将其输出就完成了网页的生成..

sub SaveText(FileName,Data) \\'这是一个用于写文本文件的过程

dim fs,ts,path \\'定义变量

set fs=createobject("scripting.filesystemobject") \\'设置FSO对象

if instr(filename,":\\\\")<>0 then \\'判断是不是绝对路径

path=filename

else

path=server.MapPath(FileName)

end if

set ts=fs.createtextfile(path,true) \\'创建文件对象

ts.writeline(data) \\'写数据

ts.close \\'关闭对象

set ts=nothing

set fs=nothing

end sub

savetext CreateFileName,Content \\'调用写文件子程序

使用模板自动生成原理基本上就是这样...

主要问题在于大家使用过程中的一些细节问题的注意...

一会儿我会让大家看一个比较成熟的FSO的展示程序...

set myfile=fso.getfile(uta(filepath))

----------------------

在FSO对象的基础上建立一个文件对象...

myfile=你指定的那个文件..

if not ts.atendofstream then content=changecontent(ts.readline) \\'判断文件是否为空.如果不为空才进行赋值操作

do while not ts.atendofstream \\'AtEndOfStream判断是不是文件的末尾

content=content+vbcrlf

content=content+changecontent(ts.readline)

loop

FSO对象的属性和方法比较多...如果大家感兴趣可以参考一下VBS参考手册..

我在这里只是起一个引导作用...给大家讲解一下成生网页文件..

content=content+vbcrlf

content=content+changecontent(ts.readline)

是做什么的

------------------------------------

把文件按行读出来...

AtEndOfStream判断是不是文件的末尾 刚才Chris已经讲了

do while not ts.atendofstream \\'AtEndOfStream判断是不是文件的末尾 content=content+vbcrlf

content=content+changecontent(ts.readline)

loop

的意思就是说,把文件中的一行一行读出来

只是一个函数..

function uta(val)

uta=replace(val,"*","&")

end function

filepath是在哪里取的?

filepath就是你那个文件所在地呀

2005-07-09 15:36:19 偸米饭(44018790)

Chris

changecontent这个函数有什么用?

changecontent是一个函数,可能是替换里面的一些字符

那些都是一些Replace的替换操作...

你们根据自己需要进行处理...

不一定必须...

整体原理就是利用FSO的创建文件方法在服务器创建一个网页文件..

然后把代码写到创建的文件里...就是这样..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值