Asp生成HTML方法大全
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
方法一: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) '打開成可以在結(jié)尾寫入數(shù)據(jù)的文件 data1="這句話是使用WriteLine方法寫入的哦!~~" txt.WriteLine data1 data2="這句話是使用Write方法寫入的哦!~~" txt.Write data2 txt.Close 方法二:XMLHTTP <% Set xml = Server.CreateObject("Microsoft.XMLHTTP") '把下面的地址替換成你的首頁的文件地址,一定要用http://開頭的絕對路徑,不能寫相對路徑 xml.Open "GET", "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/這三個動態(tài) 頁面,分別生成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()'打開文件,并把文件內(nèi)容放到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'寫入數(shù)據(jù)到stream Astream.SaveToFile recfilen,2'保存到文件 end sub function dts()'產(chǎn)生隨機文件名
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)'以擁護提交內(nèi)容替換 tmpdata=replace(tmpdata,"<content></content>",content) tempelatefile=server.MapPath("tempelate/1.htm")'模版文件 save_file() %> 該文章在 2010/11/26 0:41:18 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |