2009-05-22 4 views
3

좋아, 고전적인 ASP로 작업 한 이후로 꽤 오래되었습니다. 여기에 내 질문이있다.클래식 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 

답변

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 

%> 

나는 내 디렉토리에 대한 사용 권한을 설정 한 후, 로컬이 시도하고 일했다.

당신은 여기에서 원본 소스를 얻을 수 있습니다 :

On Error Resume Next 

입니다 : http://www.freevbcode.com/ShowCode.Asp?ID=89

+0

만 일이 파일이 처음 존재하는지 확인하는 것입니다 :

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", 1, True) 

또는 대신 CreateTextFile 방법을 사용할 수 있습니다. 2의 iMode가 파일을 만드는 것이 아니라면 ... 잠시 동안 모든 모드를 기억하지 마십시오 :) –

+0

코드는 좋아 보이지만 같은 결과를 얻었습니다. 파일 없음, 오류 없음. 시도하거나 확인해야 할 사항이 있습니까? –

+0

드라이브에 디렉토리를 만들고 쓰기 권한이있는 모든 사용자에게 권한을 설정하고 해당 권한이 있는지 확인하십시오. 그럴 경우 권한 문제 일 수 있습니다. 유일한 문제는 권한 문제인 경우 코드에 액세스 권한이 없다고보고해야한다는 것입니다. 음 ... 생각하는 것 – CodeLikeBeaker

6

코드가 오류 메시지를 생성하지 않을 것이라고 유일하게 가능한 이유는, 당신이 당신의 페이지에이를 가지고있다 나쁜, 당신이 방금 본 이유로. 그냥 모든 오류 메시지를 무시하고 예상대로 작동하지 않는 이유를 알 수 없습니다.

는 (단지 당신이 오류를 예측 코드의 절연 부품을 사용할 수, 실제로 각 작업 후 오류 상태를 확인하십시오.한다)

이 페이지에서 해당를 제거하고 오류 메시지가 당신을 아마 얻을 수는 파라미터가이 라인의 통화에 대해 무효이다 :

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True) 

당신은 I/O 모드입니다 두 번째 매개 변수를 잊어 버렸습니다. 당신은 쓰기에 값 1을 사용한다 : 나는 다르게 할 것

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True) 
+0

정답 2 개를 확인하고 싶습니다. 우리는 그 코드가 악의적 인 "On Error Resume Next"라는 것을 발견했습니다. 그것을 제거했습니다. 훌륭하게 작동합니다. 도와 주셔서 감사합니다!!! –

관련 문제