server.mappath方法详解

ASP教程 2025-08-30

推荐:String.indexOf 方法介绍
字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表示第一个字符,1表示第二个字符依此类推)如果说没有找到则返回 -1

./当前目录

/网站主目录

../上层目录

~/网站虚拟目录

如果当前的网站目录为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"))%>

输出

c:/inetpub/wwwroot/script/test.asp

由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:/Inetpub/Wwwroot/Script。脚本

<%= server.mappath("data.txt")%>

<%= server.mappath("script/data.txt")%>

输出

c:/inetpub/wwwroot/script/data.txt

c:/inetpub/wwwroot/script/script/data.txt

接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本

<%= server.mappath("/script/data.txt")%>

<%= server.mappath("/script")%>

输出

c:/inetpub/script/data.txt

c:/inetpub/script

下列示例演示如何使用正斜杠 (/) 或反斜杠 (/) 返回宿主目录的物理路径。脚本

<%= server.mappath("/")%>

<%= server.mappath("/")%>

输出

c:/inetpub/wwwroot

c:/inetpub/wwwroot

分享:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)应用介绍
SQL Server 桌面引擎(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行