多好客 好多优质的分享

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 属性,可以让您定义要打开或要写入的文件的编码类型,这样一来,ADODB.Stream不仅仅是只能读取或写入utf-8的文件,基本上什么格式的文件都可以操作了,当然当前对我们来说比较有用的就是写为utf-8格式的文件, 

下边这个函数可以实现这些功能: 

 Function WriteToFile (FileUrl, Str, CharSet) 
    Set stm = CreateObject("Adodb.Stream") 
    stm.Type = 2 
    stm.mode = 3 
    stm.charset = CharSet 
    stm.Open 
    stm.WriteText Str 
    stm.SaveToFile FileUrl, 2 
    stm.flush 
    stm.Close 
    Set stm = Nothing 
End Function 

其中charset可以选择的项有很多,您可以在这找到您想要的:网页编码大全 CodePage CharSet 中英文显示名称,这个函数的功能基本上与您的动生静使用的FSO函数差不多,只是多了一个选择字符编码的属性,当然您也可以把这个属性直接写到函数里,不过这样写比较好,以后如果要用别的转为别的格式,这个函数还可以用的上,都不用修改的。

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

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

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

ASP生成html的新方法

目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。^_^

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

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.close
File=Server.MapPath("newfile.html")
Set txt=fs.OpenTextFile(File,8,True) '打开成可以在结尾写入数据的文件
data1="这句话是使用WriteLine方法写入的哦!~~"
txt.WriteLine data1
data2="这句话是使用Write方法写入的哦!~~"
txt.Write data2
txt.Close

方法二:XMLHTTP

<%
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径
xml.Open "GET", "http://www.phpup.com", False
xml.Send
BodyText=xml.ResponseBody
BodyText=BytesToBstr(BodyText,"gb2312")
Set xml = Nothing
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile(server.MapPath("aa.htm"), True)
MyFile.WriteLine(BodyText)
MyFile.Close

其他:

1

下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态
页面,分别生成ndex1.htm,index2.htm,index3.htm存在根目录下面:


<%
dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp="

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

Windows系统环境变量大全(XP/Win7/Win8)

很多时候,不管我们在XP下还是在VistaWin7Win8下,不管我们是程序员还是普通用户,我们都可能会用到Windows系统环境变量。

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

asp cookies失效时间,session失效时间

默认cookies失效时间是直到关闭浏览器,cookies失效,也可以指定cookies时间。
 
Response.Cookies("user_name").Expires=Date+1 '指定cookie保存时间
 

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

javascript实现删除前弹出确认框

<div id="art_demo">删除确认对话框的JS代码,有好几种写法,有简单的,有兼容好的,下面分别说几种方法,可根据自己需要选用</div>

<div id="art_content">

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0

txt=pencat("字符串")

写成方法或函数很简单,但现目前的问题是,你的代码本身就有错误的,
pencat = replace(pencat,""",abc)这段代码有误
 
function pencat(str)
str=replace(str,"<","<")
str = replace(str,">",">")
pencat=replace(str,"'",chr(34))
end function 

调用代码如下
txt=pencat("字符串")

2023年9月18日 | 发布:admin | 分类:未分类 | 评论:0