server.mappath方法整理,可供需求的朋友參考./目前目錄
/網站主目錄
../上層目錄
~/網站虛擬目錄
如果目前的網站目錄為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>