设为首页 | 加入收藏 | 
非常简单、非常容易的ASP生成HTML静态页的代码[详细说明]
作者:叶随风 时间:04月21日 来源:http://www.popasp.com/ 浏览次数:【字号: 】 

  以下代码是一段非常简单的ASP生成HTML静态页的实例,简单、直接、明了的说名了HTML静态页的生成。

  事先声明:服务器必须支持FSO才能用以下方法生成HTML静态页。

  输入一个标题和部分内容,然后点“生成HTML页”,就可以在同目录下生成一个叫“test.html”的静态页。

  根据这个原理,可以生成很多其他格式的文件,如.txt文本文件等。

泡泡ASP相关代码:
<%
If Request.Form("Content")<>"" Then
 Rem 可以自定义文件名
 filename = "test.html"
 Rem 创建FSO对象
 Set fso = Server.CreateObject("Scripting.FileSystemObject")
 Rem 将相对路径转换成绝对路径,然后生成html文件
 Set fout = fso.CreateTextFile(Server.MapPath(""&filename&""))
 Rem 将文本内容写入文件
 fout.Write "标题(title):" & Request.Form("Title") & "<br>"
 fout.Write "内容(Content):" & Request.Form("Content")
 fout.Close
 Rem 释放对象
 Set fout = Nothing
 Set fso = Nothing
End If
%>
<form name="form1" method="post" action="">
 <input name="Title" id="Title" size=30>
 <br>
 <br>
 <textarea name="Content" cols="50" rows="8"></textarea>
 <br>
 <br>
 <input type="submit" name="Submit" value="生成HTML页">
</form>

  根据以上代码,可以添加或灵活修改成自己想要的方式。

  比如,一个简单的新闻系统,你只需要多加几个文本况,连上数据库(如果不会连接数据库,请在本站搜索“ASP连接数据库”),添加几个必要的字段,如:编辑,添加时间,来源等。

  一般静态页,还有个批量生成的概念,这里这个方法当然不适合批量生成。无论是否存在批量生成的概念,生成静态页避免重名都是要做的,下边说下尽量避免重名的方法:

泡泡ASP相关代码:
Rem 生成文件名的函数
Function MakeFileName(fname)
 fname = fname
 fname = Replace(fname,"-","")
 fname = Replace(fname," ","") 
 fname = Replace(fname,":","")
 fname = Replace(fname,"PM","")
 fname = Replace(fname,"AM","")
 fname = Replace(fname,"上午","")
 fname = Replace(fname,"下午","")
 MakeFileName = fname
End Function

  此函数在使用时,将系统的Now()函数值传递过去,作为参数,将时间精确到秒,因为时间是一直不断变化,所以重复的几率很低。

  当然,计算机的处理速度用秒来衡量似乎有点太大,所以,有时只是精确到秒,还是会出现重名的几率,此时,就要在这个以时间命名的文件名的基础上,再配合一个随机数。这样几乎就防止了文件名的重名问题。

  一般较常见的是随机生成五位数:

泡泡ASP相关代码:
Randomize
RndNum = Int(89999*Rnd+10000)

  这样就可以了,注意:Randomize必须有,否则不能生成不重复的五位数。

  经过以上两个方法获得的文件名的格式:系统当前时间+5位随机数+.html

  例如:200842118443056831.html,其中2008421184430是系统当前时间,而56831则是生成的随机数,后边的.html就是设置的文件的扩展名。要是换成.txt就变成了一个文本文件。

  将开始的简单生成静态页文件的代码做如下修改,就变成了新的生成HTML静态页的方法。与之前不同的是,文件名不在需要人为的去写,而是随机生成的不重复的文件名。

泡泡ASP相关代码:
<%
Rem 生成文件名的函数 
Function MakeFileName(fname) 
 fname = fname 
 fname = Replace(fname,"-","") 
 fname = Replace(fname," ","")  
 fname = Replace(fname,":","") 
 fname = Replace(fname,"PM","") 
 fname = Replace(fname,"AM","") 
 fname = Replace(fname,"上午","") 
 fname = Replace(fname,"下午","") 
 MakeFileName = fname 
End Function
Randomize 
RndNum = Int(89999*Rnd+10000)

If Request.Form("Content")<>"" Then 
 Rem 可以自定义文件名 
 filename = MakeFileName(Now()) & RndNum & ".html"
 Rem 创建FSO对象 
 Set fso = Server.CreateObject("Scripting.FileSystemObject") 
 Rem 将相对路径转换成绝对路径,然后生成html文件 
 Set fout = fso.CreateTextFile(Server.MapPath(""&filename&"")) 
 Rem 将文本内容写入文件 
 fout.Write "标题(title):" & Request.Form("Title") & "<br>" 
 fout.Write "内容(Content):" & Request.Form("Content") 
 fout.Close 
 Rem 释放对象 
 Set fout = Nothing 
 Set fso = Nothing 
End If 
%> 
<form name="form1" method="post" action=""> 
 <input name="Title" id="Title" size=30> 
 <br> 
 <br> 
 <textarea name="Content" cols="50" rows="8"></textarea> 
 <br> 
 <br> 
 <input type="submit" name="Submit" value="生成HTML页"> 
</form>

  有任何问题,可以加入本站群讨论。本站群号:50076462

 * 以上任何内容或信息侵犯了你的利益,请及时联系!
泡泡搜索
最新文章
热点文章
精彩推荐
 - TOP