./當前目錄
/網站主目錄
../上層目錄
~/網站虛擬目錄
如果當前的網站目錄為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
server.MapPath(request.ServerVariables("Path_Info"))
Request.ServerVariables("Path_Translated")
上面兩種方式返回路徑為 D:\wwwroot\company\news\show.asp
MapPath 方法將指定的相對或虛擬路徑映射到服務器上相應的物理目錄上。
語法
Server.MapPath( Path )
參數
Path
指定要映射物理目錄的相對或虛擬路徑。若 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>