FileSystemObject(흔히 FSO라고 부름)는 웹 서버의 파일 시스템에 접근할 때 흔히 사용되는 콤포넌트이다. 예를 들어, 파일을 만들 수도 있고, 파일의 내용을 읽을 수도 있고, 폴더나 파일의 존재 여부도 알아낼 수 있다. 이 외에도 파일 시스템과 관련된 많은 일들을 이 개체를 통해 할 수 있다. ASP 페이지에서 FileSystemObject 개체의 인스턴스를 만들려면 아래와 같이 해주면 된다:

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

일단 이 개체의 인스턴스를 만들면 이 개체의 많은 메소드와 속성을 이용할 수 있게 된다. 예를 들어 C:\SomeFile.txt의 파일 내용을 출력하길 원한다고 하자. 간단하다. 다음과 같이 해주면 된다.:

Const fsoForReading = 1
 
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 
'텍스트 파일을 연다
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("C:\SomeFile.txt", fsoForReading)
 
'텍스트 파일의 내용을 출력한다
Response.Write objTextStream.ReadAll
 
'파일을 닫는다
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing

다음 장에서 텍스트 파일을 읽는 것과 관련된 더 자세한 내용을 다룰 것이다. 여기서는 FileSystemObject의 용도를 아는 것으로 만족하자. ASP 페이지는 웹 서버 상에 존재하므로 ASP 페이지 상에서 생성된 FSO 개체는 웹 서버의 파일 시스템에 접근하게 된다. (물론 FSO는 웹 서버에만 접근할 수 있는 것이 아니라 모든 물리적인 파일 시스템에 접근할 수 있다.) 하지만 FSO 개체를 이용해 클라이언트의 파일 시스템을 접근할 수는 없다.

FileSystemObject를 사용할 때 기억해야 할 중요한 것 한 가지는 "권한"부분이다. 윈도 NT에서는 3가지의 권한이 있다: Read, Write 및 Full Access. ASP 페이지가 FSO 개체를 이용해 파일 시스템의 명령을 사용하고자 할 때 익명(anonymous)의 사용자 ID (IUSR_machinename, 만일 웹 서버 이름이 daniel이라면 IUSR_daniel)가 사용된다. 만일 IUSR_machinename이 특정 디렉토리 접근 권한이 없다면 ASP 페이지를 통해 그 디렉토리에 파일을 쓰기 위해 FSO 개체를 이용할 수 없다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ASP