有关Server.Mappath详细接触_ASP基础

asp中Server.MapPath的使用方法

老是忘记Server.MapPath的使用方法了,下面记录一下,以备后用:
总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径

1、Server.MapPath("/")

注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。

2、Server.MapPath("./")

注:获得所在页面的当前目录,等价于Server.MapPath("")。

3、Server.MapPath("../")

注:获得所在页面的上级目录。

4、Server.MapPath("~/")

注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\Example\。

先看图:

1,首先在本机E盘下面建立red文件夹,夹子内继续建立conn.asp文件,文件内容如下:


<%=Server.Mappath("database/cnbruce.mdb")%>
<%=Server.Mappath("/database/cnbruce.mdb")%>
<%=Server.Mappath("../database/cnbruce.mdb")%>

主要调试三种路径最后显示的结果。

2,在red文件夹下面建立文件夹database,该夹子内部存放cnbruce.mdb文件。
所以现在可以很肯定的知道数据库文件的绝对路径是:E:/red/database/cnbruce.mdb
以上应该没有问题吧,很明白的继续往下看,不明白的赶快学下windows操作系统 -_-!

3,为了进行比较对照,继续在red文件夹下面建立blue文件夹,该夹子内部存放同样的conn.asp文件


<%=Server.Mappath("database/cnbruce.mdb")%>
<%=Server.Mappath("/database/cnbruce.mdb")%>
<%=Server.Mappath("../database/cnbruce.mdb")%>

4,当然很重要的就是对red文件夹进行虚拟目录的设定。方法是在red文件夹上右键鼠标,选择“共享...”,弹出窗口中继续选择“Web共享”标签,选择“共享这个文件夹”,别名设为“red”。最后“确定”。

5,OK,现在就可以来调试两个conn.asp文件了。

先看red文件夹下面的,输入的URL应该是:http://localhost/red/conn.asp

观看结果可以知道其中只有一个正确,那就是
<%=Server.Mappath("database/cnbruce.mdb")%>

6,再来看red文件夹下的blue文件夹内的,URL:http://localhost/red/blue/conn.asp

观察结果,仍然有一个正确,那就是
<%=Server.Mappath("../database/cnbruce.mdb")%>

7,来总结下:为什么两次显示正确路径的不是同一代码呢?
很显然是相对路径的缘故。red文件夹下的conn.asp文件和database文件夹是兄弟关系,所以要找到cnbruce.mdb,就可以直接database/cnbruce.mdb

而blue文件夹下的conn.asp和database文件夹是侄叔关系,要找cnbruce.mdb,当然是../database/cnbruce.mdb,其中../就是到上一层。

8,那再看<%=Server.Mappath("/database/cnbruce.mdb")%>两次显示的都是一样的效果,都指向到c:\inetpub\wwwroot\下面了,那就是因为在"database"前面添加了"/",表示到达根目录,而本地的IIS虚拟根目录就是c:\inetpub\wwwroot\,这在默认Web站点属性里面有。

9,注意,再看!一直都是在本地的,那上传到网络上有是怎么样呢?

首先,要正确清醒地知道conn.asp连接文件和*.mdb数据库文件的地址关系
接着,选择正确的Server.Mappath转换方法

建议,最好不采用"/"路径。因为这涉及到虚拟主机和非虚拟主机的问题。

所谓虚拟主机,比如我本人的站点,其虚拟的根目录就是网站本身的根目录,不存在转向到c:\inetpub\wwwroot\的问题。

可以看出:采用"/"的时候的路径显示就是本站的根地址。

10,一定要注意!

万里长征已经到最后了,说什么也要支持住~!

我们虽然知道了conn.asp文件内容的写法,但在我们引用的时候应该要注意include包含文件的实质:被包含文件是在包含文件中执行显示的
所以,无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于包含该文件的文件位置和数据库的位置关系

时间: 2024-09-30 18:46:55

有关Server.Mappath详细接触_ASP基础的相关文章

给万博系统的新闻系统增加分页功能[配有详细说明]_ASP基础

给万博系统的新闻系统增加分页功能,无需修改数据库,只需改变一个文件,就可以了. 如果将后台的Webediter增加一个插入分页符,那就更完美了.我还没加这个. 本例是在后台录入新闻时,在需要分页的位置插入分页符: {$html_page$} 就可以了. 代码如下,有详细说明 newsshow.asp <!--#include file="siteinfo.asp"--> <HTML> <HEAD> <TITLE><%=sitenam

比较详细的ASP rs.open语句详细说明_ASP基础

'************************************************************** '------------------------------------------------------------- '第一个参数 '可以是表名,也可以是SQL语句 '------------------------------------------------------------- Chinaz^com  '第二个参数 '指定当前的连接. '------

Server.MapPath(path)的问题

问题描述 我在试验asp操作excel文件,可Server.MapPath(path)总是无法使用,只能使用绝对地址,可是这样却打开了浏览器客户端绝对地址对应的excel文件.以下是我从网上摘后修改一段代码:aaa="D:shengchanxitong100.xls"'LaunchExceldimobjExcelAppsetobjExcelApp=createobject("Excel.Application")'MakeitvisibleobjExcelApp.V

无组件生成缩略图_ASP基础

网上有不少生成缩略图的ASP组件.若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少.心晴不才,结合网上资源写了个无组件生成缩略图程序,仅供参考. 还是先看看基础部分吧.首先,我们知道在页面中显示图片是如下代码: <img src="pic.gif" border="0" width="300" height="260"> src是图片路径,border控制图片边缘宽度,width是图片的长度,heigh

ASP编程入门进阶(二十):ADO组件之显示数据记录_ASP基础

学习ASP的万里长征就快到终点了:等把ASP的ADO组件搞定.当然这也是最重要的一步,几乎前面所有的学习都是为了这个最终的目的.OK,下面就来详细系统地来一一掌握,步步为营,各个击破. 一,拥有数据库 可以这么说:静态页面和动态页面最大的区别就是采用了数据库.有关一个WEB程序采用数据库和不采用的优越性比较,就不去细细分析了,主要精力还是放在如何使用数据库,如何熟练运用数据库,如何更灵活地运用数据库等等--其中运用操作数据库主要是对数据库内容进行:显示.插入.修改.更新.查询和删除. 这些方法当

使用模板实现ASP代码与页面分离_ASP基础

每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码难以理解.难以修改:程序编写必须在美工之后,成为项目瓶颈:整合的程序代码和HTML静态页面时,花费大量的时间才能得到理想的效果,兼作了美工.的确,用脚本语言开发Web应用不容易将数据的处理和数据的显示分开,但在多人合作的情况下,如果无法将数据和显示分开,将大大影响开发的效率,专业分工的发挥. 其它的脚本语言,如JSP.PHP都有自己的解决方案,ASP的后一代

利用SA FileUp组件进行多文件上传_ASP基础

大家可以根据自己的实际情况进行修改,特别是数据库操作部分.============================================利用稻香老农的无组件进行多文件上传 请见:http://bbs.blueidea.com/viewthread.php?tid=1249535==================================================本例属于文件和表单项的混合提交. 简单说明:虽然重点在处理页上,但我觉得有必要介绍一下表单的项目.本例是相册里像

aspjpeg组件使用方法_ASP基础

aspjpeg是一款非常强大的图片处理组件,纯英文版本.不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印.可能是因为纯英文的缘故. 使用aspjepg主要可以做到: 图片缩略 图片水印 安全码技术 图片切割 图片合并 数据库支持 一.图片缩略 . 查看处理的图片 .二.图片水印 ..三.安全码 .安全玛的道理和加水印差不多. .生成安全码的图片. 四.图片切割 .一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的. 其实有这样的

AspJpeg V1.5.0 破解版_ASP基础

AspJpeg V1.5.0 破解版 aspjpeg组件使用方法 aspjpeg是一款非常强大的图片处理组件,纯英文版本.不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印.可能是因为纯英文的缘故. 使用aspjepg主要可以做到: 图片缩略 图片水印 安全码技术 图片切割 图片合并 数据库支持 一.图片缩略 . <% Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件 Pa