./當前目錄
/網站主目錄
../上層目錄
~/網站虛擬目錄
如果當前的網站目錄為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>