Platform SDK: IIS SDK |
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 check whether the path it returns is valid or exists on the server. MapPath is not available to the Session.OnEnd and the Application.OnEnd events.
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.
Caution For security reasons, the AspEnableParentPaths property has a default value set to FALSE. Scripts will not have access to the physical directory structure unless AspEnableParentPaths is set to TRUE.
For the examples below, the file Data.txt is located in the directory, C:\Inetpub\Wwwroot\Script, along with 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.
<%=index.html Server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR>
The preceding script produces the following 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.
<%=index.html 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.
<%=index.html 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.
<%=index.html Server.MapPath("/")%><BR>
<%= Server.MapPath("")%><BR>
The preceding scripts produce the following output:
c:\inetpub\wwwroot<BR>
c:\inetpub\wwwroot<BR>
The following example demonstrates how you can use relative paths to return the relative physical path to the page that is being viewed in the Web browser.
<%=index.html Server.MapPath("../")%><BR>
<%= Server.MapPath("..")%><BR>
Platforms: Windows 2000 with IIS 5.0 installed,
Windows XP with IIS 5.1 installed,
Windows Server 2003 family with IIS 6.0 installed
What did you think of this topic? |
Order a Platform SDK CD |