侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

有关Server.Mappath详细接触

技术  /  管理员 发布于 7年前   437

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的内容如何,最后都是取决于包含该文件的文件位置和数据库的位置关系。


  • 上一条:
    批量复制数据
    下一条:
    6行代码实现无组件上传(author:stimson)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    • 2025-07
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客