新手电脑网's Archiver

syziy 发表于 2008-9-30 14:08

不需模板ASP生成Html函数

Function MakeHtml(strURL,strTo)
3PDUL&LY    on error resume next
!c3Imd*W#g    response.write "开始生成静态页面..."
q.ae[,r Zy    strHtml = GetPage(strURL)
_P U_f N7R _     fOo_ bw
   Set fs=Server.CreateObject("Scripting.FileSystemObject")
eJ2kQvry!xb    '要存放的页面地址
e*ewW,kd    strAddress=server.MapPath(strTo)8sdfo-gy^T"N9_
   '如果文件存在则删除旧文件g%I7H"?dnj}
   If (fs.FileExists(strAddress)) Then fs.DeleteFile(strAddress) )O.L5|wz&n6{
    EC^S&o3^8pq
   Set mHtml=fs.CreateTextFile(strAddress)
ZNDxg    mHtml.Writeline(strHtml) 6~W Pd0TeI;X
   set mHtml=nothing lhnss5GPd
   set fs=nothing
]h1dnh!C(J.h,_    response.write "...<font color=red>生成静态页面<"&strTo&">成功!</font>"   8WINWxp}S4Su
End Function
:QK$hh.RNM g e,OuV G3aG$?%r
'###获取要生成动态页地址####
W7s8Q2?;J Function GetPage(url) F%`*I,I5k&n{ f
    '获得文件内容
J i BB6Q$r%_-w m     dim Retrieval /c3N*n(B eo&@
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
N`sn|1m"c%I)C     With Retrieval *s)LG EF]-W)?
    .Open "Get", url, False,"", "" wx`\1wa5e2z
    .Send
$X8Bn2aM [dG     GetPage = BytesToBstr(.ResponseBody)
7hrTsT6M"E*tD*O     End With
.fASWmpi     Set Retrieval = Nothing
%dl x-OxD End Function _m+cayIC2^g
'####转换字符#####   
H4P:q#qK l4q6A Function BytesToBstr(body)
K\ C9u_bn     dim objstream Ohk;v:R
    set objstream = Server.CreateObject("adodb.stream")
|*HsbE*jC     objstream.Type = 1
qs#U4lA;n     objstream.Mode =3
FX~ oc0R]     objstream.Open
$fu1y-T)g]q'h9o     objstream.Write body \%P,A V5E r(b
    objstream.Position = 0
k| }F g/c)s     objstream.Type = 2 K@;r Hl.to
    objstream.Charset = "GBK" /IJ7h o7Q)go?
    BytesToBstr = objstream.ReadText
F$P)f{D-X     objstream.Close A0[.jx p f6~kl1^$c
    set objstream = nothing
ss(Z6Q"xnh$Q5r End Function
l d#j&|;h9]+Ckt/k!q %>
6jeS ~OL H
'z2hp{(uh/O.H 保存为MakeHtml.inc.asp1Sn#n5xDA8Mr
?$Z^H'u7J+r7L$g
使用方法:
6bq'}0Y$vx sk N 1[9OzR? h$U
      在要实现生成静态功能的页面头部添加-k+K(NlnCN2A

]X BZ[Pm       <!--#include file="<你存放的路径>/makehtml.inc.asp"-->
^6m ^!L-bt&hl +o+T6V)h2n,N3A2o x
      在需要调用生成静态页面的地方添加1D T8F5a0U1|Gd

8F_SJX+M7o       MakeHtml “http://localhost/index.asp","/index.html"1Ik!L/V4H[

Mar![/c1Y S       上面的路径换成你自己的,这样即可无模板生成静态页面。不过这种方法比较耗资源,生成速度慢,但是简单易上手。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.