但很多时候为了方便,我们会自定义生成文本文件的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
Function createTextFile(Byval content,Byval fileDir,Byval code) dim fileobj,fileCode : fileDir=replace(fileDir, "\", " /") if isNul(code) then fileCode=Charset else fileCode=code call createfolder(fileDir, "filedir" ) if fileCode= "utf-8" then on error resume next With objStream .Charset=fileCode: .Type=2: .Mode=3: .Open: .Position=0 .WriteText content: .SaveToFile Server.MapPath(fileDir), 2 .Close End With else on error resume next:err.clear set fileobj=objFso.CreateTextFile(server.mappath(fileDir), True ) fileobj.Write(content) set fileobj=nothing end if if Err Then err.clear :createTextFile=false : errid=err.number:errdes=err.description:Err.Clear : echoErr err_09,errid,errdes else createTextFile=true End Function Sub echoErr(byval str,byval id, byval des) dim errstr,cssstr cssstr= "<meta http-equiv=" "Content-Type" " content=" "text/html; charset=" &Charset& "" " />" cssstr=cssstr& "<style>body{text-align:center}#msg{background-color:white;border:1px solid #0073B0;margin:0 auto;width:400px;text-align:left}.msgtitle{padding:3px 3px;color:white;font-weight:700;line-height:28px;height30px;font-size:12px;border-bottom:1px solid #0073B0; text-indent:3px; background-color:#0073B0}#msgbody{font-size:12px;padding:20px 8px 30px;line-height:25px}#msgbottom{text-align:center;height:20px;line-height:20px;font-size:12px;background-color:#0073B0;color:#FFFFFF}</style>" errstr=cssstr& "<script language=" "javascript" ">setTimeout(" "goLastPage()" ",5000);function goLastPage(){location.href='" & sitePath & "/';}</script><div id='msg'><div class='msgtitle'>提示:【" &str& "】</div><div id='msgbody'>错误号:" &id& "<br>错误描述:" &des& "<br /><a href=" "javascript:history.go(-1);" rel= "external nofollow" ">返回上一页</a> <a href=" "" rel= "external nofollow" & sitePath & "/" ">返回首页</a></div><div id='msgbottom'>Powered by AspCms2.0</div></div>" cssstr= "" die(errstr) End Sub Function createFolder(Byval dir,Byval dirType) dim subPathArray,lenSubPathArray, pathDeep, i on error resume next dir=replace(dir, "\", " /") if trim(sitePath) = "" then pathDeep = "/" else pathDeep = sitePath pathDeep = server.MapPath(pathDeep) dir=replace(server.mappath(dir), pathDeep, "" ) subPathArray=split(dir, "\") select case dirType case "filedir" lenSubPathArray=ubound(subPathArray) - 1 case "folderdir" lenSubPathArray=ubound(subPathArray) end select for i=0 to lenSubPathArray if trim(subPathArray(i)) <> "" then pathDeep=pathDeep&"\"&subPathArray(i) if not objFso.FolderExists(pathDeep) then objFso.CreateFolder pathDeep end if next if Err Then createFolder=false : errid=err.number:errdes=err.description:Err.Clear : echoErr err_10,errid,errdes else createFolder=true End Function |
使用方法
createTextFile content,htmlfilepath,""
content就是内容,filepath就是文件路径
createTextFile "内容","/article/11/22/3.htm",""
ASP生成UTF-8编码的代码
方法一:createtextfile生成文件方法
1
2
3
4
5
|
function WriteToFile(FileName,FileContent) set fso=server.createobject( "scripting.filesystemobject" ) set fp=fso.createtextfile(server.mappath(FileName),, True ) fp.write(FileContent) end function |
方法二:ADODB.Stream生成文件方法 支持utf8,最上面的函数就包括下面的两种方法
1
2
3
4
5
6
7
8
9
10
11
|
Set ccObjStream = Server.CreateObject( "ADODB.Stream" ) With ccObjStream .Type = 2 .Mode = 3 .Open .Charset = "utf-8" .Position = ccObjStream.Size .WriteText 要生成的内容 .SaveToFile 要生成文件路径和文件名,2 .Close End With |
CreateTextFile 方法
创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件。
object.CreateTextFile(filename[, overwrite[, unicode]])
参数
object
必选项。应为 FileSystemObject 或 Folder 对象的名称。
filename
必选项。字符串表达式,指明要创建的文件。
overwrite
可选项。Boolean 值指明是否可以覆盖现有文件。如果可覆盖文件,该值为 True;如果不能覆盖文件,则该值为 False 。如果省略该值,则不能覆盖现有文件。
unicode
可选项。Boolean 值指明是否以 Unicode 或 ASCII 文件格式创建文件。如果以 Unicode 文件格式创建文件,则该值为 True;如果以 ASCII 文件格式创建文件,则该值为 False。如果省略此部分,则假定创建 ASCII 文件。
以上就是asp createTextFile生成文本文件支持utf8的详细内容,更多关于asp createTextFile的资料请关注服务器之家其它相关文章!