MapPath

MapPath 메서드는 지정된 상대 경로 또는 가상 경로를 서버상에서 해당하는 실제 디렉터리에 매핑합니다.

구문

Server.MapPath( Path )

매개 변수

Path
실제 디렉터리로 매핑할 상대 경로 또는 가상 경로를 지정합니다. Path가 슬래시(/)나 역슬래시(\)로 시작하면, MapPath 메서드는 Path가 전체 가상 경로인 것처럼 경로를 반환합니다. Path가 슬래시로 시작하지 않으면 MapPath 메서드는 처리되고 있는 .asp 파일 디렉터리의 상대 경로를 반환합니다.

주의

MapPath 메서드는 반환하는 경로가 유효한지 또는 서버에 존재하는지 여부 등을 확인하지 않습니다. MapPath는 Session.OnEnd 및 Application.OnEnd 이벤트에서는 사용할 수 없습니다.

MapPath 메서드는 지정된 디렉터리가 현재 존재하는지에 상관 없이 경로를 매핑하기 때문에 MapPath 메서드를 사용하여 실제 디렉터리 구조로 경로를 매핑한 다음, 지정된 디렉터리 또는 파일을 서버에 작성하는 구성 요소로 이 경로를 전달할 수 있습니다.

보안상의 이유로 AspEnableParentPaths 속성의 기본값은 FALSE로 설정되어 있습니다. AspEnableParentPaths가 TRUE로 설정되지 않으면 스크립트는 실제 디렉터리 구조를 액세스하지 못합니다.

예제

아래 예에서 data.txt 파일은 다음 스크립트를 포함하는 test.asp 파일과 마찬가지로 C:\Inetpub\Wwwroot\Script 디렉터리에 있습니다. C:\Inetpub\Wwwroot 디렉터리는 서버의 홈 디렉터리로 설정되어 있습니다.

다음은 PATH_INFO 서버 변수를 사용하여 현재 파일의 실제 경로를 매핑하는 예제입니다.

<%= Server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR>
 

앞의 스크립트는 다음의 결과를 생성합니다.

c:\inetpub\wwwroot\script\test.asp<BR>
 

다음 예제에서는 경로 매개 변수가 슬래시 문자로 시작하지 않기 때문에 경로 매개 변수가 현재 디렉터리의 상대 경로로 매핑됩니다. 이 경우에는 C:\Inetpub\Wwwroot\Script입니다.

<%= Server.MapPath("data.txt")%><BR>
<%= Server.MapPath("script/data.txt")%><BR>
 

앞의 스크립트는 다음과 같은 결과를 생성합니다.

c:\inetpub\wwwroot\script\data.txt<BR>
c:\inetpub\wwwroot\script\script\data.txt<BR>
 

다음 두 예제는 슬래시 문자를 사용하여 반환된 경로를 서버의 완전한 가상 경로로 조회하도록 지정합니다.

<%= Server.MapPath("/script/data.txt")%><BR>
<%= Server.MapPath("\script")%><BR>
 

앞의 스크립트는 다음과 같은 결과를 생성합니다.

c:\inetpub\wwwroot\script\data.txt<BR>
c:\inetpub\wwwroot\script<BR>
 

다음은 웹 사이트 루트의 홈 디렉터리에 실제 경로를 반환하기 위해 슬래시(/) 또는 역슬래시(\)를 앞에 사용하는 방법을 보여주는 예제입니다.

<%= Server.MapPath("/")%><BR>
<%= Server.MapPath("\")%><BR>

앞의 스크립트는 다음과 같은 결과를 생성합니다.

c:\inetpub\wwwroot<BR>
c:\inetpub\wwwroot<BR>

다음은 상대 경로를 사용하여 웹 브라우저에서 보고 있는 페이지에 실제 상대 경로를 반환하는 방법을 보여주는 예제입니다.

<%= Server.MapPath("../")%><BR>
<%= Server.MapPath("..\")%><BR>
 

적용

Server 개체

관련 항목

AspEnableParentPaths


© 1997-2001 Microsoft Corporation. All rights reserved.