日期:2014-05-17  浏览次数:20824 次

追加形式写入文件
JScript code
<%function writefile(ct,filename,fileEncoder)
  Dim stream
  Set stream = Server.CreateObject("adodb.stream")
  stream.Charset = fileEncoder '设置编码
  stream.Type = 2 '文本
  stream.Mode = 3 'forreadwrite
  stream.Open
  stream.writeText ct, 1
  stream.SaveToFile server.mappath(filename), 2
  stream.Close
  Set stream = Nothing
End function
'  fileEncoder = "gb2312" '文件编码格式

writefile request.Form("dizhi"),"abc.html","gb2312"
response.Write "生成文件件成功!"%>


这段代码是写入文件,但每次都是覆盖,怎么追加数据?

------解决方案--------------------
<%function writefile(ct,filename,fileEncoder)
Dim stream
Set stream = Server.CreateObject("adodb.stream")
stream.Charset = fileEncoder '设置编码
stream.Type = 2 '文本
stream.Mode = 3 'forreadwrite
stream.Open
stream.LoadFromFile server.mappath(filename)
stream.Position = stream.Size 
stream.writeText ct, 1
stream.SaveToFile server.mappath(filename), 2
stream.Close
Set stream = Nothing
End function
' fileEncoder = "gb2312" '文件编码格式

writefile request.Form("dizhi"),"abc.html","gb2312"
response.Write "生成文件件成功!"%>



------解决方案--------------------
HTML code
<%
'filename:文件名
'readwritemode:1只读 2只写 8添加
'create:是否创建新文件 ,true/false
'encoding:编码,0:ascii  -1:unicode   -2:系统缺省,中文系统为ANSI
function WriteFile(filename,readwriteMode,create,encoding) 
  set fso=server.CreateObject("scripting.filesystemobject")
  if not fso.FileExists(server.MapPath(filename))then create=true'文件不存在则设置create为true
  set stream=fso.OpenTextFile(server.MapPath(filename),readwritemode,create,encoding)
  stream.write ct
  stream.close
  set fso=nothing
end function
ct=request.Form("ct")
if ct<>"" then
 WriteFile "abc.txt",8,false,-2
 response.write "写入或者创建文件成功!"
end if
%>
<form method="post" action="x.asp"">
<input type="text" name="ct" /><input type="submit" value="提交" />
</form>