Asp生成HTML方法大全

方法一:FSO

Set fs = CreateObject("Scripting.FileSystemObject")
NewFile=Server.MapPath("/asp/chap06/at/newfile.html")
'新建一文件/newfile.html,若该文件已存在,则覆盖它
Set a = fs.CreateTextFile(NewFile, True)
Response.Write"新文件已建立!"
a.close
File=Server.MapPath("newfile.html")
Set txt=fs.OpenTextFile(File,8,True) '打开成可以在结尾写入数据的文件
data1="这句话是使用WriteLine方法写入的哦!~~"
txt.WriteLine data1
data2="这句话是使用Write方法写入的哦!~~"
txt.Write data2
txt.Close

方法二:XMLHTTP

<%
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径
xml.Open "GET", "http://www.phpup.com", False
xml.Send
BodyText=xml.ResponseBody
BodyText=BytesToBstr(BodyText,"gb2312")
Set xml = Nothing
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile(server.MapPath("aa.htm"), True)
MyFile.WriteLine(BodyText)
MyFile.Close

其他:

1

下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态
页面,分别生成ndex1.htm,index2.htm,index3.htm存在根目录下面:

<%
dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp="<UL>"
For i=1 To 3
Html_Temp = Html_Temp&"<LI>"
Item_Classid = i
FileName = "Index"&Item_Classid&".htm"
FilePath = Server.MapPath("/")&"\"&FileName Html_Temp = Html_Temp&FilePath&"</LI>"
Do_Url = "http://"
Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/main/index.asp"
Do_Url = Do_Url&"?Item_Classid="&Item_Classid

strUrl = Do_Url
dim objXmlHttp
set objXmlHttp = Server.createObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET",strUrl,false
objXmlHttp.send()
Dim binFileData
binFileData = objXmlHttp.responseBody
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()

Next
Html_Temp = Html_Temp&"<UL>"
%>

<%
Response.Write ( "成功生成文件:" )
Response.Write ( "<BR>" )
Response.Write Html_Temp
%>

Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%>

2

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
public tempelatefile,tmpdata
sub ofile()'打开文件,并把文件内容放到tmpdata
on error resume next
tmpdata=""
set Astream=Server.CreateObject ("Adodb.Stream")
Astream.type=2'文件类型文本
Astream.Mode = 3'读写
Astream.open
Astream.CharSet = "GB2312"'字符集
Astream.LoadFromFile(tempelatefile)'从文件装载
Assp=Astream.size
if err.number<>0 then
xz=-18
response.Write tempelatefile&"<br>"
err.clear
tmpdata=""
else
tmpdata=Astream.ReadText(Assp)
end if

end sub

sub save_file()
ofile()
recfilen=server.MapPath(dts)
Astream.Flush
Astream.close
Astream.type=2
Astream.Mode = 3
Astream.open
Astream.CharSet = "GB2312"
Astream.position=0
Astream.Writetext tmpdata,1'写入数据到stream
Astream.SaveToFile recfilen,2'保存到文件
end sub

function dts()'产生随机文件名
if len(month(now()))>1 then
mm=month(now())
else
mm="0"&month(now())
end if
if len(day(now()))>1 then
d=day(now())
else
d="0"&day(now())
end if
if len(hour(now()))>1 then
h=hour(now())
else
h="0"&hour(now())
end if
if len(minute(now()))>1 then
m=minute(now())
else
m="0"&minute(now())
end if
if len(second(now()))>1 then
s=second(now())
else
s="0"&second(now())
end if
Randomize
upperbound=9999
lowerbound=1000
rds=Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
dts="htm/"&year(now())&mm&d&h&m&s&rds&".htm"
end function
title=request.Form("title")
content=request.Form("content")
tmpdata=replace(tmpdata,"<title></title>",title)'以拥护提交内容替换
tmpdata=replace(tmpdata,"<content></content>",content)
tempelatefile=server.MapPath("tempelate/1.htm")'模版文件
save_file()
%>

(0)

相关推荐

  • fso asp生成静态html的代码

    FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题 如一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.asp在textarea里调出来,如:  <textarea name="body"><!--#include f

  • ASP网站生成静态html页面技术小结

    生成HTML方法主要步骤只有两个: 一.获取要生成的html文件的内容  二.将获取的html文件内容保存为html文件 我在这里主要说明的只是第一步:如何获取要生成的html文件的内容:  目前常用获取html文件的内容的方法有以下几种: 1. str="<html标记>内容</html标记>"  str=str&"<html标记>内容</html标记><html标记>数据库读取内容....</htm

  • ASP生成静态htm页面基本代码

    以下虚线框内为mk.asp文件的具体代码:--------------------------------------------------------------------------------<%filename="test.htm"if request("body")<>"" thenset fso = Server.CreateObject("Scripting.FileSystemObject"

  • 在ASP中使用FSO组件生成HTML页面

    '共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作对象. <!--index.htm-------------------------------------------------------------------------------> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/l

  • ASP生成静态文件编码为UTF-8格式的HTML文件

    一般我们在ASP环境下,运行动生静操作时都用到的是FSO,他是专门对文件进行操作的一个组件,他FSO的编码属性只有三种,系统默认,Unicode,ASCII,并没有我们要的utf-8,所以一般中文系统上使用FSO组件生成的文件都是gb2312格式的了,即便您在网页内写上charset="utf-8"也是没用的 要生成utf-8格式的文件,ASP环境下我们用 ADODB.Stream代替FSO读写utf-8文件,因为,ADODB.Stream,有一个CharSet 属性,可以让您定义要打

  • asp分页生成html的程序脚本代码

    这是asp分页列表生成静态页面得asp小程序脚本 复制代码 代码如下: <!--#include file="conn.asp"-->  <html><head><TITLE>分页测试</TITLE><LINK href="inc/style.css" type=text/css rel=stylesheet></head>  <%strHead=strHead&&qu

  • ASP中不用模板生成HTML静态页面的方法

    当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.html的),htmer_to_html.asp的具体代码如下所示: 复制代码 代码如下: <form method="post" action="&quo

  • ASP生成html的新方法

    由于代码比较短,这里就不进行注释了  复制代码 代码如下: <% '当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题 '注意:本文件一定要放在20041227111723.htm指向的文件的同一目录下 dim hughchiu_rtcode Function get_exe_code(20041227111723.htm) dim execode dim tmp_str Dim re,re1,content,fso,f,aspStart,aspE

  • ASP新闻分页,将一篇过长的文章分页,生成静态页面

    上次还是CSDN里的朋友回答的,我复制了下来.原文如下 =========================== 利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好. 很简单,在要截断的地方附近找下面的符号: :'"?.!;'".! 如果后面存在<p>或<br>就分页.主要是要研究文章的格式. <% if Request.ServerVariables("Content_Length") &g

  • asp:生成静态页面函数

    复制代码 代码如下: <% if SaveFile("/htm/list.htm","http://www.xxx.com/asp/list.asp") then Response.write "已生成" else Response.write "没有生成" end if function SaveFile(LocalFileName,RemoteFileUrl) Dim Ads, Retrieval, GetRemot

随机推荐