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

3/2/2004来源:ASP实例人气:36536

'共有两个页面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," ","&nbsp;")
 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文件。怎么样,你可以在此基础上做个简单的新闻发布系统。