扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
<%=Server.Mappath("database/cnbruce.mdb")%> <%=Server.Mappath("/database/cnbruce.mdb")%> <%=Server.Mappath("../database/cnbruce.mdb")%> |
<%=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\的问题。
可以调试
http://www.cnbruce.com/red/conn.asp
http://www.cnbruce.com/red/blue/conn.asp
可以看出:采用"/"的时候的路径显示就是本站的根地址。
10,一定要注意!
万里长征已经到最后了,说什么也要支持住~!
我们虽然知道了conn.asp文件内容的写法,但在我们引用的时候应该要注意include包含文件的实质:被包含文件是在包含文件中执行显示的。
所以,无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于包含该文件的文件位置和数据库的位置关系。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者