标题:帮忙解释下这段ASP生成HTMl的代码
只看楼主
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
 问题点数:0 回复次数:6 
帮忙解释下这段ASP生成HTMl的代码
<%
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,"@","")
 get_pass=pass
end function
 
%>


谢谢大家,最好一句一句解释下,非常谢谢!
搜索更多相关主题的帖子: minute hour year shijian month 
2008-05-07 16:12
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
<%
function chan_time(shijian)'转换日期时间函数
 s_year=year(shijian)'获得年份
 if len(s_year)=2 then s_year="20"&s_year'如果年份为2年份20与年份
 s_month=month(shijian)'获得月份
 if s_month<10 then s_month="0"&s_month'如果月份小于10月份为0与月份
 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>"'html顶部代码

botom="</body></html>"'html底部代码
msg=request.Form("msg")'获得从表单提交来的msg的内容
msg=replace(msg,vbcrlf,"")'将回车替换为空
msg=replace(msg,chr(9),"")
msg=replace(msg," ","& n b s p ;")'将空格替换位Html的空格
msg=replace(msg,"\r\n","<br>")'将换行替换为br
msg=replace(msg,"\n","<br>")
msg=top&msg&botom'拼接完整的html代码
Set fs=Server.CreateObject("scripting.FileSystemObject")'创建FSO对象
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) '写文件
'将变量msg逐个字符的循环写入上面文件名生成的文件
for z=1 to len(msg)
  write_now=mid(msg,z,1)
  ts.write(write_now)
next
' ts.writeline(all_msg)
'关闭清除FSO对象
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
'设置文件类型为htm
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,"@","")
 get_pass=pass
end function
%>
2008-05-07 17:36
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
<%
function chan_time(shijian)  '转换日期时间函数--开始
s_year=year(shijian)  '从时间shijian中获取年,赋值给s_year
if len(s_year)=2 then s_year="20"&s_year  '判断s_year位数是否等于2,如果等于2就在前面加20开头再重新赋值给s_year
s_month=month(shijian)  '从时间shijian中获取月,赋值给s_month
if s_month<10 then s_month="0"&s_month  '判断s_month月份是否小于10,如果小于10就在前面加0开头再重新赋值给s_month
s_day=day(shijian)  '从时间shijian中获取日,赋值给s_day
if s_day<10 then s_day="0"&s_day  '判断s_day位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_day
s_hour=hour(shijian)  '从时间shijian中获取时,赋值给s_hour
if s_hour<10 then s_hour="0"&s_hour  '判断s_hour位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_hour
s_minute=minute(shijian)  '从时间shijian中获取分,赋值给s_minute
if s_minute<10 then s_minute="0"&s_minute  '判断s_minute位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_minute
chan_time=s_year & s_month & s_day & s_hour & s_minute  '将以上重新赋值的5个变量组合起来重新赋值给chan_time
end function  '转换日期时间函数--结束


function chan_data(shijian)  '转换日期时间函数--开始
s_year=year(shijian)  '从时间shijian中获取年,赋值给s_year
if len(s_year)=2 then s_year="20"&s_year  '判断s_year位数是否等于2,如果等于2就在前面加20开头再重新赋值给s_year
s_month=month(shijian)  '从时间shijian中获取月,赋值给s_month
if s_month<10 then s_month="0"&s_month  '判断s_month月份是否小于10,如果小于10就在前面加0开头再重新赋值给s_month
s_day=day(shijian)  '从时间shijian中获取日,赋值给s_day
if s_day<10 then s_day="0"&s_day  '判断s_day位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_day
chan_data=s_year & s_month & s_day  '将以上重新赋值的3个变量组合起来重新赋值给chan_data
end function  '转换日期时间函数--结束


function chan_file(shijian)  '转换日期时间函数--开始
s_month=month(shijian)  '从时间shijian中获取月,赋值给s_month
if s_month<10 then s_month="0"&s_month  '判断s_month月份是否小于10,如果小于10就在前面加0开头再重新赋值给s_month
s_day=day(shijian)  '从时间shijian中获取日,赋值给s_day
if s_day<10 then s_day="0"&s_day  '判断s_day位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_day
s_hour=hour(shijian)  '从时间shijian中获取时,赋值给s_hour
if s_hour<10 then s_hour="0"&s_hour  '判断s_hour位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_hour
s_minute=minute(shijian)  '从时间shijian中获取分,赋值给s_minute
if s_minute<10 then s_minute="0"&s_minute  '判断s_minute位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_minute
s_ss=second(shijian)  '从时间shijian中获取秒,赋值给s_ss
if s_ss<10 then s_ss="0"&s_ss  '判断s_ss位数是否小于10,如果小于10就在前面加0开头再重新赋值给s_ss
chan_file = s_month & s_day & s_hour & s_minute & s_ss  '将以上重新赋值的5个变量组合起来重新赋值给chan_file
end function  '转换日期时间函数--结束


top="<html><head><title>news</title></head><body>"  '将头部html代码赋值给top
botom="</body></html>"  '将底部html代码赋值给botom
msg=request.Form("msg") '获取表单post提交方式赋值给msg
msg=replace(msg,vbcrlf,"")  '清除换行符再赋值给msg
msg=replace(msg,chr(9),"")  '清除TAB键的空格符再赋值给msg
msg=replace(msg," "," ")
msg=replace(msg,"\r\n","<br>")  '将\r\n符转换成<br>再赋值给msg
msg=replace(msg,"\n","<br>")  '将\n符转换成<br>再赋值给msg
msg=top&msg&botom  '将以上3个不同变量组合起来再重新赋值给msg

Set fs=Server.CreateObject("scripting.FileSystemObject")  '调用FSO组件,将执行过程赋值给fs调用
all_tree2=server.mappath("news")&"\"&chan_data(now)  '将当前路径和以上chan_data(now)函数生成的数字组合成一个路径再赋值给all_tree2
if (fs.FolderExists(all_tree2)) then  '判断今天的文件夹是否存在
else
fs.CreateFolder(all_tree2)  '将all_tree2里的内容创建成文件夹
end if   
pass=chan_file(now)  '将chan_file(now)函数生成的内容赋值给pass
randomize  '使用系统计时器来初始化乱数产生器
pass=rnd(pass)  '将pass中的内容产生一个随机数再重新赋值给pass
pass=get_pass(pass)  '调用自生产的处理函数来处理再重新赋值给pass
pass=left(pass,10)  '获取pass内容中的前10位再重新赋值给pass
file1=pass  '将pass再重新赋值给file1
files=file1&".txt"  '将file1和文本文件扩展名组合再重新赋值给files
filez=all_tree2&"\"&files  '将以上组合的路径all_tree2和files组合成另一个路径再重新赋值给filez


set ts = fs.createtextfile(filez,true) '将filez创建成一个文件并写入以上内容
for z=1 to len(msg)  '循环从1到msg中的个数
  write_now=mid(msg,z,1)  '截取msg中循环z中的数字一个再赋值给write_now
  ts.write(write_now)  '将上面循环截取的数字写入文件
next
' ts.writeline(all_msg)
ts.close  '清除记录
set ts=nothing    '清除记录集


if err.number<>0 or err then  '错误编号不等于0或者有错误提示时执行else上面的内容  相反则执行else下面的内容
%>
  <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)  '将all_tree2里的内容创建成文件夹
end if
MyFile.name= left(MyFile.name,len(MyFile.name)-4)&".htm"  '将获取的内容生成扩展名为.htm的静态文件
set MyFile=nothing  '生成完毕
set fs=nothing
set fdir=nothing

function get_pass(pass)  '过滤字符函数--开始
pass=cstr(pass)  '将pass内容转换成字符类型再赋值给pass
pass=replace(pass," ","")  '清除空格符再赋值给pass
pass=replace(pass,"@","")  '清除@符号再赋值给pass
get_pass=pass  '将pass再赋值给get_pass
end function  '过滤字符函数--结束
%>
2008-05-07 17:46
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
得分:0 
好人们,没想到,真多代码一句一句给解释下来了,非常的谢谢你们! 
问下 现在ASP生成HTMl的,  比如一个新闻系统   新闻列表页是不是ASP的,  单个新闻页是HTMl  还是都是HTMl的!    

如果都是HTMl的,那新闻列表页如果再想新加几条新闻  咋办!
2008-05-08 11:35
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
得分:0 
谁那有ASP生成HTMl的简单网页!         不好整站的太多了,  几个-20个之间的都行,主要看一下咋做里! 我QQ: 591625390
2008-05-08 11:45
bjbaima
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-4-22
得分:0 
太多了,我有点近视,看不清,干脆不看了.

我这有.
2008-05-08 15:18
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
得分:0 
我邮箱 lijionglove1314@   给给我一份谢谢
2008-05-08 15:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-212978-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.255651 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved