ASP批量生成静态页

2008/4/7 10:16:11 来源:互联网 【 】 浏览:5957次

由于本人的空间收到限制,不能一次批量生成所有的静态页,所以自己写了一个小程序和大家分享,程序相当简单,高手莫要见笑!此代码就是很浪费时间.代码如下

 

<!--#include file="conn.asp"-->
<HTML><HEAD><TITLE>生成页面</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="style.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.3020" name=GENERATOR>
</HEAD>
<BODY bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0>
<BR style="OVERFLOW: hidden; LINE-HEIGHT: 3px">
<%
dim id
id=cint(request.querystring("id"))
if id="" then

 


id="1"
else
id=cint(request.querystring("id"))
end if
 

Dim totalnumber
sql="select id from table order by id DESC"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
rs.Movefirst
if not rs.eof then
TotalNumber=rs.recordcount
end if
获取总数可以用一句代码代替,这个相信朋友自己可以解决.
rs.close
set rs=nothing
Chinaz_com

Response.Write "<br><br>" & vbNewLine
Response.Write "<table width='400' border='0' align='center' cellpadding='0' cellspacing='0'>" & vbNewLine
Response.Write "  <tr>" & vbNewLine
Response.Write "    <td height='50'>总共 <font color='blue'><b>" & totalnumber & "</b></font> 个页面,正在生成第 <font color='red'><b>" & ID & "</b></font>  个页面…… </td>" & vbNewLine
Response.Write "  </tr>" & vbNewLine
Response.Write "</table>" & vbNewLine
Response.Flush

 

If ID > totalnumber Then
 Response.Write "恭喜您操作成功!"
 Response.Flush
End If

 

creat(ID)
id=id+1
Response.Write "<meta http-equiv=""refresh"" content=""1;url=?ID="&id&""">"
%>
</BODY>    
</HTML>

 

<%
Function creat(id)
 sql="SELECT * from table where id="&ID
 set rs=conn.execute(sql)
 dim name
 name=rs("name")
 conn.execute(sql)
 rs.close
 set rs=nothing
 dim fso
 dim znwl
 dim art
 dim fw
 set fso=createobject("scripting.filesystemobject")
 set znwl=fso.opentextfile(server.mappath("模板页"))
 art=znwl.readall
 znwl.close

 

 art=replace(art,"{$name$}",name)
 set fw=fso.createtextfile(server.mappath("生成页存放位置及页面名称"),true)
 fw.writeline art
 fw.close
 set fso=nothing
End Function
%>


 

另外还有一种方法比上面的方法快,但是占用CPU比较多,我的空间用下面的方法老出问题

 

<!--#include file="conn.asp"-->
<HTML><HEAD><TITLE>生成页面</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="style.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.3020" name=GENERATOR>
</HEAD>
<BODY bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0>
<BR style="OVERFLOW: hidden; LINE-HEIGHT: 3px">
<table border="1" width="100%" id="table1">

 


 <tr>
  <td>
<%
dim allid,ppp,id,totalnum
sql="select * from table order by id DESC"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if not rs.eof then
 do while not rs.eof        
   if allid="" then allid= rs("id") else allid= allid & ";" & rs("id")      
   rs.movenext      
 loop
else
   If Rs.bof And Rs.EOF Then
   Response.Write "还没有找到任何文章!"
   End if
end if
rs.close
set rs=nothing

 

allid=";"+allid
ppp=split(allid,";")
totalnum=ubound(ppp)
for id=1 to totalnum
Session("id")=Session("id")+1
creat(id)
response.write "正在生成znwl_"&id&".htm...<br>"
next
%>
 </td>
 </tr>
</table>
</BODY>    
</HTML>

 

<%
Function creat(id)
 sql="SELECT * from table where id="&ID
 set rs=conn.execute(sql)
 dim name
 name=rs("name")
 conn.execute(sql)
 rs.close
 set rs=nothing
 dim fso
 dim znwl
 dim art
 dim fw
 set fso=createobject("scripting.filesystemobject")
 set znwl=fso.opentextfile(server.mappath("模板页"))
 art=znwl.readall
 znwl.close

%>
[中国站长站]

 art=replace(art,"{$name$}",name)
 set fw=fso.createtextfile(server.mappath("生成页存放位置及页面名称"),true)
 fw.writeline art
 fw.close
 set fso=nothing
End Function


 

 

这种方法快,但是你的空间要不受限制!中国.站长站

上面的方法仅供参考,并不是本人修改的最后版本,但是绝对好用.

  • 上一篇文章:ASP生成柱型体,折线图,饼图源代码
  • 下一篇文章:在ASP中利用“正则表达式” 对象实现UBB风格的论坛
    当前地址:https://dns2003.com:443/help/hlp_dtl.asp?nid=10000195
    更多帮助登录: http://www.dns2003.com/help
    业务请咨询E网时代客服部