时间:2016-02-24 16:23 来源:
我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP批量生成静态页】,下面是详细的分享!
ASP批量生成静态页
由于本人的空间收到限制,不能一次批量生成所有的静态页,所以自己写了一个小程序和大家分享,程序相当简单,高手莫要见笑!此代码就是很浪费时间.代码如下
|
<!--#include file="conn.asp"--> <HTML><HEAD><TITLE>生成页面</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <LINK href=http://www.chinaz.com/program/2008/0304/"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
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=http://www.chinaz.com/program/2008/0304/"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.net批量生成静态页速度快
答:为什么要这样静态化呢.占空间什么的不说.效率也不高~~伪静态吧.URL重写 >>详细
相关问题:asp批量生成一万个静态页面的话,服务器会崩溃吗
答:1.人家代码可以生成静态页面或是伪静态,其实对于引擎来说两者差别不大,蜘蛛爬来爬去还是发现格式一样的,只是打开速度存在稍微一点点差别 2.别做框架,对收录不太好 3.现在主流的网站代码都可以生成静态的,当然大型站一般不生成html 这样反而占空... >>详细
相关问题:asp批量生成静态页面超时,造成页面假死,执行代码...
答:我之前是用.NET做的,是动态生成HTML静态页面,其实也没什么太好的方法,如果数据量大的话就会造成服务器超时,然后请求失败,后来的解决思路是就按照类别,分批次进行生成,能稍微好一点,但是如果还是更大数据量的话,就是能到服务器去更改响... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-