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()

  %>