Server.MapPath Method

MapPath方法把指定的相对路径或虚拟路径映射到服务器上对应的物理目录。

MapPath(Path)

参数

Path
指定要映射到物理目录的相对路径或虚拟路径。如果Path用斜杠(/)或反斜杠(\)开头,则MapPath方法返回一个路径,Path被视为一个完整的虚拟路径。如果路径不是以斜杠开头的,由MapPath方法返回一个相对于被处理的.asp文件的目录的路径。

返回值

该方法没有返回值

适用于

Server对象

备注

如果Path参数包含了下面字符中的任一个,MapPath方法会返回ASP 0173错误“无效路径字符”:

  • 星号(*)
  • 问号(?)
  • 尖括号(< or >)
  • 逗号(,)
  • 冒号或分号 (: or ;)
  • 单引号或双引号(' or ")
  • 右方括号(])
  • 双斜线(// or \\)

该方法没有检查它返回的路径是否有效或者真的存在于服务器上。MapPath方法对Session_OnEnd事件和Application_OnEnd事件不可用。

因为MapPath方法映射路径,无论指定的目录是否当前存在,你可以使用MapPath方法来映射到路理目录结构,然后把路径传递给在服务器上创建指定目录或文件的组件。

Caution:
出于安全原因,AspEnableParentPaths属性默认被设置为False。如果不把AspEnableParehtPaths设置为True,脚本将不能访问到物理目录结构。

示例代码

下面的示例使用服务器变量PATH_INFO来映射当前文件的物理路径。

VBScript
<%= Server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR>

在下面的示例中,因为路径参数没有用斜杠开始,它们被映射到相对于包含示例文件的目录。

VBScript
<%= Server.MapPath("data.txt")%><BR> 
<%= Server.MapPath("script/data.txt")%><BR>

下面的示例将检查到到当前目录的跟径。

VBScript
<%= Server.MapPath(".")%><BR>

下面的示例将检索到到父目录的路径。(注意:如果ASP禁用了父路径,这将返回一个错误。)

VBScript
<%= Server.MapPath("..")%><BR>

必备条件

Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.

Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.

Product: IIS

如果你喜欢这篇文章,敬请给站长打赏↑

除特别注明外,本站所有文章均为本站站长原译,转载请注明出处。