在ASP中使用FSO组件生成HTML页面

  '共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作对象。

  <!--index.htm------------------------------------------------------------------------------->

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  "http://www.w3.org/TR/html4/loose.dtd">

  <html>

  <head>

  <title>Untitled Document</title>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

  </head>

  <body>

  <table width="770" border="0" align="center" cellpadding="0" cellspacing="0">

  <tr>

  <td><form name="form1" method="post" action="send.asp">

  <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCFFFF">

  <tr>

  <td height="20"><div align="center">发送消息</div></td>

  </tr>

  <tr>

  <td><div align="center">

  <textarea name="msg" cols="100" rows="6"></textarea>

  </div></td>

  </tr>

  <tr>

  <td><div align="center">

  <input type="submit" name="Submit" value="Submit">

  <input type="reset" name="Submit2" value="Reset">

  </div></td>

  </tr>

  </table>

  </form></td>

  </tr>

  </table>

  </body>

  </html>

  '//send.asp

  <%

  function chan_time(shijian)'转换日期时间函数

  s_year=year(shijian)

  if len(s_year)=2 then s_year="20"&s_year

  s_month=month(shijian)

  if s_month<10 then s_month="0"&s_month

  s_day=day(shijian)

  if s_day<10 then s_day="0"&s_day

  s_hour=hour(shijian)

  if s_hour<10 then s_hour="0"&s_hour

  s_minute=minute(shijian)

  if s_minute<10 then s_minute="0"&s_minute

  chan_time=s_year & s_month & s_day & s_hour & s_minute

  end function

  function chan_data(shijian) '转换日期时间函数

  s_year=year(shijian)

  if len(s_year)=2 then s_year="20"&s_year

  s_month=month(shijian)

  if s_month<10 then s_month="0"&s_month

  s_day=day(shijian)

  if s_day<10 then s_day="0"&s_day

  chan_data=s_year & s_month & s_day

  end function

  function chan_file(shijian)'转换日期时间函数

  s_month=month(shijian)

  if s_month<10 then s_month="0"&s_month

  s_day=day(shijian)

  if s_day<10 then s_day="0"&s_day

  s_hour=hour(shijian)

  if s_hour<10 then s_hour="0"&s_hour

  s_minute=minute(shijian)

  if s_minute<10 then s_minute="0"&s_minute

  s_ss=second(shijian)

  if s_ss<10 then s_ss="0"&s_ss

  chan_file = s_month & s_day & s_hour & s_minute & s_ss

  end function

  top="<html><head><title>news</title></head><body>"

  botom="</body></html>"

  msg=request.Form("msg")

  msg=replace(msg,vbcrlf,"")

  msg=replace(msg,chr(9),"")

  msg=replace(msg," "," ")

  msg=replace(msg,"\r\n","<br>")

  msg=replace(msg,"\n","<br>")

  msg=top&msg&botom

  Set fs=Server.CreateObject("Scripting.FileSystemObject")

  all_tree2=server.mappath("news")&"\"&chan_data(now)

  if (fs.FolderExists(all_tree2)) then'判断今天的文件夹是否存在

  else

  fs.CreateFolder(all_tree2)

  end if

  pass=chan_file(now)

  randomize '使用系统计时器来初始化乱数产生器

  pass=rnd(pass)

  pass=get_pass(pass)

  pass=left(pass,10)

  file1=pass

  files=file1&".txt"

  filez=all_tree2&"\"&files

  set ts = fs.createtextfile(filez,true) '写文件

  for z=1 to len(msg)

  write_now=mid(msg,z,1)

  ts.write(write_now)

  next

  ' ts.writeline(all_msg)

  ts.close

  set ts=nothing '文件生成

  if err.number<>0 or err then%>

  <script language="javascript">

  alert("不能完成")

  </script>

  <%else%>

  <script language="javascript">

  alert("已完成")

  history.back();

  </script>

  <%end if

  Set MyFile = fs.GetFile(filez)

  all_tree2=server.mappath("news")&"\"&chan_data(now)

  if (fs.FolderExists(all_tree2)) then

  else

  fs.CreateFolder(all_tree2)

  end if

  MyFile.name= left(MyFile.name,len(MyFile.name)-4)&".htm"

  set MyFile=nothing

  set fs=nothing

  set fdir=nothing

  function get_pass(pass)

  pass=cstr(pass)

  pass=replace(pass," ","")

  pass=replace(pass," ","")

  pass=replace(pass,"-","")

  pass=replace(pass," ","")

  pass=replace(pass,":","")

  pass=replace(pass,".","")

  pass=replace(pass,"+","")

  pass=replace(pass,"_","")

  pass=replace(pass,"<","")

  pass=replace(pass,">","")

  pass=replace(pass,"!","")

  pass=replace(pass,"@","")

  pass=replace(pass,"#","")

  pass=replace(pass,"$","")

  pass=replace(pass,"%","")

  pass=replace(pass,"^","")

  pass=replace(pass,"&","")

  pass=replace(pass,"*","")

  pass=replace(pass,"(","")

  pass=replace(pass,")","")

  pass=replace(pass,"=","")

  pass=replace(pass,"\","")

  pass=replace(pass,"/","")

  pass=replace(pass,"|","")

  get_pass=pass

  end function

  %>

  '//

  把send.asp和index.htm放到你的ASP目录下,然后再建一个news文件夹。打开浏览器,在地址栏里输入:http://你的机器名/你的ASP虚拟目录名/index.html输入文字,然后提交,OK!看看你的ASP目录里新建的news文件夹里是不是多了个新的文件夹,而且是以当前日期命名的。里面有你刚刚提交的文字,看看是不是生成了HTML文件。怎么样,你可以在此基础上做个简单的新闻发布系统。