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

(0)

相关推荐

  • ASP网站生成静态html页面技术小结

    生成HTML方法主要步骤只有两个: 一.获取要生成的html文件的内容  二.将获取的html文件内容保存为html文件 我在这里主要说明的只是第一步:如何获取要生成的html文件的内容:  目前常用获取html文件的内容的方法有以下几种: 1. str="<html标记>内容</html标记>"  str=str&"<html标记>内容</html标记><html标记>数据库读取内容....</htm

  • Asp生成HTML方法大全

    方法一:FSO Set fs = CreateObject("Scripting.FileSystemObject")NewFile=Server.MapPath("/asp/chap06/at/newfile.html")'新建一文件/newfile.html,若该文件已存在,则覆盖它Set a = fs.CreateTextFile(NewFile, True)Response.Write"新文件已建立!"a.closeFile=Server

  • ASP生成静态文件编码为UTF-8格式的HTML文件

    一般我们在ASP环境下,运行动生静操作时都用到的是FSO,他是专门对文件进行操作的一个组件,他FSO的编码属性只有三种,系统默认,Unicode,ASCII,并没有我们要的utf-8,所以一般中文系统上使用FSO组件生成的文件都是gb2312格式的了,即便您在网页内写上charset="utf-8"也是没用的 要生成utf-8格式的文件,ASP环境下我们用 ADODB.Stream代替FSO读写utf-8文件,因为,ADODB.Stream,有一个CharSet 属性,可以让您定义要打

  • ASP生成静态htm页面基本代码

    以下虚线框内为mk.asp文件的具体代码:--------------------------------------------------------------------------------<%filename="test.htm"if request("body")<>"" thenset fso = Server.CreateObject("Scripting.FileSystemObject"

  • fso asp生成静态html的代码

    FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题 如一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.asp在textarea里调出来,如:  <textarea name="body"><!--#include f

  • ASP中不用模板生成HTML静态页面的方法

    当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.html的),htmer_to_html.asp的具体代码如下所示: 复制代码 代码如下: <form method="post" action="&quo

  • ASP生成html的新方法

    由于代码比较短,这里就不进行注释了  复制代码 代码如下: <% '当目标页面的包含文件即#include的页面里边存在response.End()的时候本程序有问题 '注意:本文件一定要放在20041227111723.htm指向的文件的同一目录下 dim hughchiu_rtcode Function get_exe_code(20041227111723.htm) dim execode dim tmp_str Dim re,re1,content,fso,f,aspStart,aspE

  • ASP新闻分页,将一篇过长的文章分页,生成静态页面

    上次还是CSDN里的朋友回答的,我复制了下来.原文如下 =========================== 利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好. 很简单,在要截断的地方附近找下面的符号: :'"?.!;'".! 如果后面存在<p>或<br>就分页.主要是要研究文章的格式. <% if Request.ServerVariables("Content_Length") &g

  • asp:生成静态页面函数

    复制代码 代码如下: <% if SaveFile("/htm/list.htm","http://www.xxx.com/asp/list.asp") then Response.write "已生成" else Response.write "没有生成" end if function SaveFile(LocalFileName,RemoteFileUrl) Dim Ads, Retrieval, GetRemot

  • asp分页生成html的程序脚本代码

    这是asp分页列表生成静态页面得asp小程序脚本 复制代码 代码如下: <!--#include file="conn.asp"-->  <html><head><TITLE>分页测试</TITLE><LINK href="inc/style.css" type=text/css rel=stylesheet></head>  <%strHead=strHead&&qu

随机推荐