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

注意:FSO生成静态文件时要小心,如果编码是GB2312的话,可以直接生成静态页面;如果编码是UTF-8时,FSO就不行了,必须用stream来生成UTF-8的静态页面。即使是用FSO生成Unicode编码的静态页面,当用IE时正常,opera浏览时也正常,但用firefox浏览时,全部变样,似乎没有加载样式一样,这个有点郁闷。
300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00573 秒