The MapPath method maps the specified relative or virtual path to the corresponding physical directory on the server.
Server.MapPath( Path )
The MapPath method does not support relative path syntax (.) or (..). For example, the following relative path, ../MyDir/MyFile.txt, returns an error.
The MapPath method does not check whether the path it returns is valid or exists on the server.
Because the MapPath method maps a path regardless of whether the specified directories currently exist, you can use the MapPath method to map a path to a physical directory structure, and then pass that path to a component that creates the specified directory or file on the server.
For the examples below, the file data.txt is located in the directory, C:\Inetpub\Wwwroot\Script, as is the test.asp file that contains the following scripts. The C:\Inetpub\Wwwroot directory is set as the server's home directory.
The following example uses the server variable PATH_INFO
to map the physical path of the current file. The following script
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>
produces the output
c:\inetpub\wwwroot\script\test.asp<BR>
Because the path parameters in the following examples do not start with a slash character, they are mapped relative to the current directory, in this case C:\Inetpub\Wwwroot\Script. The following scripts
<%= server.mappath("data.txt")%><BR> <%= server.mappath("script/data.txt")%><BR>
produce the following output
c:\inetpub\wwwroot\script\data.txt<BR> c:\inetpub\wwwroot\script\script\data.txt<BR>
The next two examples use the slash characters to specify that the path returned should be looked up as complete virtual paths on the server. The following scripts
<%= server.mappath("/script/data.txt")%><BR> <%= server.mappath("\script")%><BR>
produce the following output
c:\inetpub\script\data.txt<BR> c:\inetpub\script<BR>
The following examples demonstrate how you can use either a forward slash (/) or a backslash (\) to return the physical path to the home directory. The following scripts
<%= server.mappath("/")%><BR> <%= server.mappath("\")%><BR>
produce the following output
c:\inetpub\wwwroot<BR> c:\inetpub\wwwroot<BR>