zl程序教程

您现在的位置是:首页 >  后端

当前栏目

server.mappath方法详解

server方法 详解 MapPath
2023-06-13 09:14:40 时间
./当前目录
/网站主目录
../上层目录
~/网站虚拟目录
如果当前的网站目录为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>