如何将asp生成htm?

来源:互联网 发布:oppou529软件 编辑:程序博客网 时间:2024/06/14 16:22
如何将asp生成htm? 作者:漫漫10001 时间:2007-9-11 10:13:02 阅读:14 已解决
如何将asp生成htm?
 悬赏分:15 - 解决时间:2006-7-26 19:28
play.asp?id=234&see=1 这是一首歌的页面 
我要把他生成play234.htm 
再把play.asp?id=235&see=1生成play235.htm 
这样依次累推 应该怎么做? 
请说详细点 我对ASP一点也不懂 就是会点HTML
问题补充:liutexing我说了我不懂ASP 你应该一步一步说清楚我应该怎么做哦 就发几个代码 我不知怎么办
提问者: 阔佬 - 助理 二级 
最佳答案
方法一: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 

其他: 



下面的例子是将、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 
%> 



<%@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() 
%>
回答者:liutexing - 魔法学徒 一级 7-26 18:41

提问者对于答案的评价:
能一步一步告诉我就好了 光说123没用 不过你应该说的是对的
评价已经被关闭 目前有 1 个人评价 
     好
100% (1) 不好
0% (0) 

对最佳答案的评论
太复杂了....看都看到没有意思哦.
评论者: ma1111de - 试用期 一级 

其他回答共 1 条
只需要改后缀名就行了,用拖把批量重命名软件,去掉&see=1及play.asp?id=等,然后把后缀名改成htm就行了,我一直是这样做的