The MapPath method maps the specified relative path to the corresponding physical directory on the server.
Server.MapPath( Path )
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.
<%= Server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR>
The preceding script 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.
<%= Server.MapPath("data.txt")%><BR>
<%= Server.MapPath("script/data.txt")%><BR>
The preceding scripts 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.
<%= Server.MapPath("/script/data.txt")%><BR>
<%= Server.MapPath("\script")%><BR>
The preceding scripts produce the following output
c:\inetpub\wwwroot\script\data.txt<BR>
c:\inetpub\wwwroot\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 of the Web site root.
<%= Server.MapPath("/")%><BR>
<%= Server.MapPath("\")%><BR>
The preceding scripts produce the following output
c:\inetpub\wwwroot<BR>
c:\inetpub\wwwroot<BR>
The following examples demonstrate how you can use relative pathing to return the relative physical path to the page that is being viewed in the Web browser.
<%= Server.MapPath("../")%><BR>
<%= Server.MapPath("..\")%><BR>