필요한 친구들이 참고할 수 있도록 server.mappath 메소드를 정리했습니다./현재 디렉토리
/웹사이트 홈 디렉토리
../상위 디렉토리
~/웹사이트 가상 디렉터리
현재 웹 사이트 디렉터리가 E:/wwwroot인 경우 응용 프로그램 가상 디렉터리는 E:/wwwroot/company이고 검색된 페이지 경로는 E:/wwwroot/company/news/show.asp입니다.
show.asp 페이지에 사용됨
Server.MapPath(./)는 E:/wwwroot/company/news 경로를 반환합니다.
Server.MapPath(/)는 E:/wwwroot 경로를 반환합니다.
Server.MapPath(../)는 E:/wwwroot/company 경로를 반환합니다.
Server.MapPath(~/)는 E:/wwwroot/company 경로를 반환합니다.
서버.MapPath(요청.ServerVariables(Path_Info))
Request.ServerVariables(Path_Translated)
위 두 메서드의 반환 경로는 D:/wwwroot/company/news/show.asp입니다.
MapPath 메서드는 지정된 상대 경로 또는 가상 경로를 서버의 해당 실제 디렉터리에 매핑합니다.
문법
서버.MapPath(경로)
매개변수
길
매핑할 물리적 디렉터리에 대한 상대 경로 또는 가상 경로를 지정합니다. Path가 슬래시(/) 또는 백슬래시(/)로 시작하는 경우 MapPath 메서드는 경로를 반환할 때 Path를 완전한 가상 경로로 처리합니다. Path가 슬래시로 시작하지 않으면 MapPath 메서드는 .asp 파일의 기존 경로에 대한 상대 경로를 반환합니다.
논평
MapPath 메서드는 상대 경로 구문(.) 또는 (..)을 지원하지 않습니다. 예를 들어, 다음 상대 경로 ../MyDir/MyFile.txt는 오류를 반환합니다.
MapPath 메서드는 반환된 경로가 올바른지 또는 서버에 존재하는지 확인하지 않습니다.
MapPath 메서드는 지정된 디렉터리의 존재 여부에 관계없이 경로만 매핑하므로 먼저 MapPath 메서드를 사용하여 경로를 실제 디렉터리 구조에 매핑한 다음 이를 서버에 지정된 디렉터리나 파일을 생성하는 구성 요소에 전달할 수 있습니다.
예
다음 예에서는 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/script/data.txt<BR>
c:/inetpub/script<BR>
다음 예에서는 슬래시(/) 또는 백슬래시(/)를 사용하여 호스트 디렉터리의 실제 경로를 반환하는 방법을 보여줍니다. 스크립트
<%= server.mappath(/)%><BR>
<%= server.mappath(/)%><BR>
산출
c:/inetpub/wwwroot<BR>
c:/inetpub/wwwroot<BR>