答案:方法一: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="
"
for i=1 to 3
html_temp = html_temp&"
"
item_classid = i
filename = "index"&item_classid&".htm"
filepath = server.mappath("/")&"\"&filename html_temp = html_temp&filepath&""
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&"
"
%>
<%
response.write ( "成功生成文件:" )
response.write ( "
" )
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&"
"
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)'以拥护提交内容替换
tmpdata=replace(tmpdata,"",content)
tempelatefile=server.mappath("tempelate/1.htm")'模版文件
save_file()
%>
上一个:ASP中引号的用法
下一个:ASP自动生成HTML中ASP模板运用