黑马程序员技术交流社区

标题: 绝对路径和相对路径的写法? [打印本页]

作者: 颜晓峰    时间: 2013-3-8 10:50
标题: 绝对路径和相对路径的写法?
本帖最后由 颜晓峰 于 2013-3-11 14:34 编辑

绝对路径和相对路径是什么意思,具体的写法有几种?求举例说明
作者: 安玉波    时间: 2013-3-8 11:20
相对路径实际就是调用当前目录下面的文件,绝对路径跟相对路径一样调用文件,但绝对路径是一个固定地址。
我在桌面建一个aa的文件夹,里面一个index.html,再建一个Image文件夹,放一张图片为image1.jpg
例:
绝对路径:C:\Documents and Settings\Administrator\桌面\aa\image\image1.jpg
相对路径:aa/Image/image1.jpg
在实际运用中,普遍使用的是相对路径。
作者: 黑马-杨鹏立    时间: 2013-3-8 13:41
借用楼上的例子进行补充:
相对路径实际就是调用当前目录下面的文件,绝对路径跟相对路径一样调用文件,但绝对路径是一个固定地址。
我在桌面建一个aa的文件夹,里面一个index.html,再建一个Image文件夹,放一张图片为image1.jpg
例:
绝对路径:C:\Documents and Settings\Administrator\桌面\aa\image\image1.jpg
相对路径:aa/Image/image1.jpg

在C#程序中用~来表示相对路径,
假如你要操作相对路径里的图片或文件,这时你要把相对路径转换为绝对路径进行操作。
方法很简单就是调用封装好的Server.MapPath(“要转换的相对路径”);这是在aspx中操作
如果是一般处理程序ashx中需要的是context.Server.MapPath("同上");
作者: HM张扬    时间: 2013-3-8 13:57
绝对路径就表示一个固定的路径,比如:C:\Documents and Settings\All Users\index.asp 那就表示访问电脑上这个路径上的index.asp 相对就表示基于这个目录下的文件比如: ../index.asp 就是网站目录的这个文件。 所以,做网站写代码的时候一定不要写成绝对路径
作者: 董华阳    时间: 2013-3-8 19:35
绝对路径:C:\Documents and Settings\Administrator\桌面\aa\image\image1.jpg
相对路径:./image1.jpg或者../image1.jpg或者Server.MapPath
作者: 余攀    时间: 2013-3-8 20:55
路径的写法有两种方式:相对路径和绝对路径;
绝对路径:是指一个文件存储的位置到根目录的全值,是一个固定地址,如:D:\Backup\我的文档\Tencent Files\ex.txt,软件开发中,若移植带代码容易出错.
相对路径:是对于绝对路径来理解,是文件存储位置的上一级目录或者更上一层,但没有到根目录。如:images\dog.jpg。

作者: 孔健    时间: 2013-3-9 10:35
1、相对路径分两种情况:一是相对于当前页面的,如“1.html, ../1.html, ./aaa/1.html”分别表示和当前页面同一目录下的1.html页面、当前页面所在目录的上一级目录下的1.html、当前页面所在目录中的aaa目录下的1.html;另一种情况是相对于网站根目录来说的,这种写法都是以"/"开头的,如"/1.html, /aaa/1.html"分别表示根目录下的1.html,根目录下的aaa目录下的1.html。
2、绝对路径是指带盘符的路径,如"d:\database.mdb",网站中一般用到绝对路径的地方是配置文件中,和程序中读写文件时需要把相对路径映射为服务器绝对路径。

作者: 啸淸    时间: 2016-5-14 17:45
在分析一个例子
我在e盘下有一个文件夹:taiyangxi
然后在taiyangxi文件夹下有两个文件夹:shuixing、img
shuixing文件夹下有一个htm文件名字为:h.htm
img文件夹下有一个图片:002.jpg
现在,我想把002.jpg作为h.htm的背景,
这个相对路径应该怎么写?并请对路径的每个部分进行解析。


首先我们所在的文件是h.html,那么此时系统会解析得到当前路径是:e:\taiyangxi\shuxing\,或者说是当前目录。请注意当前路径并不是e:\taiyangxi\shuxing\h.html。
为了提高文件的检索速度,文件系统向用户提供了一个当前正在使用的目录,称为当前目录。这说明当前路径仅仅是一个路径,路径指明去哪里,文件名和路径才可以定位文件。
好了然后分析002.jpg和h.html文件之间的关系;举个例子,我们两个人比谁优秀,这是一个相对优秀,比如说你比我优秀,那么在比较的时候你是以我的优秀程度为起点来衡量你比我优秀多少,同样的道理,在相对路径中,002.jpg文件相对于h.html文件的相对路径是多少,那么你首先要找到两者的共同之处,在这里这两个文件的共同父目录就是:e:\taiyangxi\,,从这个目录下我们可以找打两者。这个是我们分析出来的,那么好了现在我就要由已知(当前h.html文件的当前 路径)路径 走到两个文件的交叉点,然后在明确指明告诉系统如何找到002.html文件。
首先当前路径是:e:\taiyangxi\shuxing\, 我要告诉系统先走到十字路口交叉点(e:\taiyangxi\) 所以是.. ,表示让系统在当前路径的基础上回退,这个时候就到了e:\taiyangxi\ ,然后告诉系统怎么走:img/002.jpg
最终就是 ../img/002.jpg

作者: 啸淸    时间: 2016-5-14 17:49
还有就是系统中凡是以/开头的都是绝对路径,没的说。 凡是以"../" "./"开头的都是相对路径。

绝对路径有两种情况: (1)带有硬盘标示符号  (2)web应用用“/” 和文件系统中“/”都表示根路径,因为有了根路径,所以这样的路径也是绝对路径。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2