虚拟路径和物理路径 实例

转自:www.n96n.cn

当使用 Dreamweaver 将文件上传到远程服务器后,这些文件驻留在服务器本地目录树中的某一个文件夹中。例如,在运行 Microsoft IIS 的服务器上,主页的路径可能如下所示:

c:\Inetpub\wwwroot\accounts\users\jsmith\index.htm

此路径通常称为文件的物理路径。

但是,用来打开文件的 URL 并不使用物理路径。它使用服务器名称或域名,后接虚拟路径,如以下示例所示:

www.plutoserve.com/jsmith/index.htm

虚拟路径 /jsmith/index.htm 代替了物理路径 c:\Inetpub\wwwroot\accounts\users\jsmith\index.htm。

如果您通过 ISP 来工作,则通常不知道您上传的文件的物理路径。ISP 通常会为您提供一个 FTP 主机(可能是主机目录)以及一个登录名和密码。ISP 还指定一个 URL,用于在 Internet 上查看您的网页,如 www.plutoserve.com/jsmith/。

如果您知道该 URL,就可以获取该文件的虚拟路径 ― 它是 URL 中服务器名称或域名后的路径。一旦知道虚拟路径,即可使用 MapPath 方法获取文件在服务器上的物理路径。

此外,MapPath 方法将虚拟路径当作参数,并返回文件的物理路径和文件名。该方法的语法如下:

Server.MapPath("/virtualpath")

假定一个文件的虚拟路径是 /jsmith/index.htm,那么以下表达式将返回它的物理路径:

Server.MapPath("/jsmith/index.htm")

您可以用 MapPath 方法进行如下试验。

  1. 在 Dreamweaver 中打开一个 ASP 页并切换到代码视图("查看">"代码")。
  2. 在该页的 HTML 代码中输入以下表达式。
    <%Response.Write(stringvariable)%>
  3. 使用 MapPath 方法获取 stringvariable 参数的值。

    这里提供了一个示例:

    <% Response.Write(Server.MapPath("/jsmith/index.htm")) %>
  4. 切换到"设计"视图("查看">"设计")并启用"动态数据"("查看">"动态数据")以查看该页。

    该页显示文件在应用程序服务器上的物理路径。当使用本节讨论的示例时,该页将显示以下物理路径:

    c:
posted @ 2011-04-12 11:17  勇气  阅读(743)  评论(0编辑  收藏  举报