好吧,自从我使用经典的asp之后已经有一段时间了,所以我有点生疏了。这是我的问题。
我正在尝试使用FSO将文件写入文件系统。下面的代码非常简单。但是,文件没有出现,也没有出现错误。我知道它正在运行代码,因为我可以在此片段之前和之后添加response.writes,它们都出现在输出中。但是,不会创建任何文件,也不会引发错误。我甚至改变了它,所以这是一个强制错误的虚假路径。没有骰子。我添加了所有人对目录权限的读写。还是一样。
想法?
这是我的代码:
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Open the text file
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)
'Display the contents of the text file
objTextStream.WriteLine "howdy"
'Close the file and clean up
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
答案 0 :(得分:6)
代码不会产生错误消息的唯一可能原因是您在页面中有这个:
On Error Resume Next
这很糟糕,因为你刚刚见过。它只是默默地忽略了任何错误消息,并且不知道为什么它没有按预期工作。
(它只应用于预期出现错误的代码的隔离部分,并在每次操作后实际检查错误情况。)
从您的页面中删除它,并且您可能得到的错误消息是该行上的调用参数无效:
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)
您忘记了第二个参数,即I / O模式。你应该使用值1来写:
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", 1, True)
或者,您可以改为使用CreateTextFile
方法:
Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
答案 1 :(得分:4)
试试这个:
<%
if Append = true then
iMode = 8
else
iMode = 2
end if
set oFs = server.createobject("Scripting.FileSystemObject")
set oTextFile = oFs.OpenTextFile("C:\wwwroot\Test.txt", iMode, True)
oTextFile.Write "Test Content"
oTextFile.Close
set oTextFile = nothing
set oFS = nothing
%>
我在我的目录上设置了权限之后在本地尝试了这个功能。
您可以从此处获取原始来源: http://www.freevbcode.com/ShowCode.Asp?ID=89