设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
编程技术
›
C++
›
获得本机的绝对路径,server.mappath()的详细解析 ...
返回列表
查看:
43
|
回复:
0
获得本机的绝对路径,server.mappath()的详细解析
[复制链接]
heisetoufa
heisetoufa
当前离线
积分
2226
窥视卡
雷达卡
升级
61.3%
当前用户组为
探花
当前积分为
2226
, 升到下一级还需要 774 点。
726
主题
726
主题
726
主题
探花
探花, 积分 2226, 距离下一级还需 774 积分
探花, 积分 2226, 距离下一级还需 774 积分
积分
2226
发消息
楼主
|
发表于 2013-1-27 05:13:29
|
显示全部楼层
|
阅读模式
转自:
http://www.cnblogs.com/lanshh/archive/2007/09/17/438826.html
作者:
晓岚
用法:
1.Server.MapPath("/") 应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
2.Server.MapPath("./") 表示所在页面的当前目录
注:等价于Server.MapPath("") 返回 Server.MapPath("")所在页面的物理文件路径
3.Server.MapPath("../")表示上一级目录
4.Server.MapPath("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\
注:等效于Server.MapPath("~")。
不知道是否正确,研究中......
另:以下几句等效
string filename=Server.MapPath("./") + @"\Web.config";string filename=Server.MapPath("./") + "/Web.config";string filename=Server.MapPath("") + @"\Web.config"
附一例子:修改web.config的某一节点的属性值
public void write() { string key1 = this.TextBox1.Text; DataSet ds = new DataSet(); ds.ReadXml(Server.MapPath("")+"/web.config"); // 不是Tables[0] ds.Tables[1].Rows[0][1] = key1; ds.AcceptChanges(); ds.WriteXml(Server.MapPath("")+"/web.config"); ds.Dispose(); }
转自:
http://blog.tianya.cn/blogger/post_show.asp?BlogID=284576&PostID=3517248
作者:
山谷银月
string Server.MapPath(string path)
返回与Web服务器上的指定虚拟路径相对应的物理文件路径。
<%=Server.MapPath(Request.ServerVariables["PATH_INFO"])%><%= Server.MapPath("/")%><%= Server.MapPath("")%><%=Server.MapPath(".")%><%= Server.MapPath("../")%><%= Server.MapPath("..")%>
以上的代码在http://localhost/EnglishClub/manage/WebForm1.aspx页面
运行结果:
C:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx
C:\Inetpub\wwwroot\
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\
C:\Inetpub\wwwroot\EnglishClub
----------------------------------------------------------------------------------------------
转自:
http://hi.baidu.com/zls520/blog/item/f05df2caeb0a9145f31fe710.html
作者:
zls3060420
很多的朋友一而再,再而三的在Server.Mappath上卡壳,cnbruce也是一遍两遍地重复,还是不能全部解决,所以通过下面的举例,希望更多的朋友能恍然大悟,透彻明白过来。
先看图:
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\的问题。
可以调试
http://www.cnbruce.com/red/conn.asp
http://www.cnbruce.com/red/blue/conn.asp
可以看出:采用"
/
"的时候的路径显示就是本站的根地址。
10,一定要注意!
万里长征已经到最后了,说什么也要支持住~!
我们虽然知道了conn.asp文件内容的写法,但在我们引用的时候应该要注意include包含文件的实质:
被包含文件是在包含文件中执行显示的
。
所以,无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于
包含该文件的文件位置和数据库的位置关系
。
黑色头发
http://heisetoufa.iteye.com
如果发现本文有误,欢迎批评指正
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
os
Html/Css
C
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表