立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 112|回复: 9

绝对路径与相对路径

[复制链接]

绝对路径与相对路径

[复制链接]

80

主题

107

回帖

788

积分

高级会员

积分
788
kaleok

80

主题

107

回帖

788

积分

高级会员

积分
788
2021-11-2 17:23:55 | 显示全部楼层 |阅读模式
绝对路径实际上严格区分,分为站点绝对路径和系统绝对路径。

在linux当中,系统绝对路径的展现形式等价于站点绝对路径。都是/  开头

但需要注意,系统绝对路径是linux特有的系统根目录/为根目录的,比如包括/root   /home等

但站点的绝对路径实际上是nginx划分的站点目录作为根目录的。比如在网页源代码中使用 /1.js,只能访问域名对应所在根目录的www.xxx.com/1.js

所以在php操作文件时,需要理解站点绝对路径和系统绝对路径的区别。当然php内置函数和魔术常量可以很好的区分出系统绝对路径,

比如__DIR__获取的就是当前php脚本所在的系统绝对路径,diarname(__FILE__);也同样可以拿到系统绝对路径。

但很多开发者喜欢写死路径字符串,比如file_get_contens('/upload/1.txt');这样的方法实际上是错误的。这样的写法将会访问linux系统根目录的 /1.txt,而不是站点所在目录的/1.txt;并且由于php-fpm进程也会受制于nginx划分的站点目录权限,即使存在该文件也无法读取。



而在window系统中,系统绝对路径和站点绝对路径的展现形式就不一样了。

系统绝对路径是以盘符开头的,比如D:\\1.txt;

而站点绝对路径同样是web服务器引擎软件划分的站点根目录为起点,所以网页源代码中使用 /1.js,只能访问域名对应所在根目录的www.xxx.com/1.js



而相对路径,就是以脚本所在目录为基准,相对于代码脚本所在目录位置上下查找对应的资源。相对路径下是不区分系统平台的。但是却存在不可靠的情况,比如在多个incode载入的php脚本中,实际上写在被载入脚本的相对路径已经变成了主动载入其他脚本的当前脚本为基准。相对路径可以是./1.js或者是1.js等,上级访问只能是../../../1.js,而不是........./1.js

但通过上面的例子可以发现,在php操作文件时,尽量采用内置函数获取系统绝对路径,可以有效防止系统环境变动产生不兼容的情况。
回复

使用道具 举报

1

主题

277

回帖

761

积分

高级会员

积分
761
买鸡吃灰

1

主题

277

回帖

761

积分

高级会员

积分
761
2021-11-2 17:55:01 | 显示全部楼层
真把论坛当你垃圾留言站了吗


回复

使用道具 举报

86

主题

554

回帖

2350

积分

金牌会员

积分
2350
超级无敌小马甲

86

主题

554

回帖

2350

积分

金牌会员

积分
2350
2021-11-2 18:03:57 | 显示全部楼层
学习了。还是蛮有用的
总比水贴好
LOC里不是每个都是编程大佬,所有知识学习是不错的
回复

使用道具 举报

0

主题

14

回帖

54

积分

注册会员

积分
54
hjh

0

主题

14

回帖

54

积分

注册会员

积分
54
2021-11-2 17:49:52 | 显示全部楼层
loc记事本
回复

使用道具 举报

160

主题

1024

回帖

3988

积分

论坛元老

积分
3988
403_Forbidden

160

主题

1024

回帖

3988

积分

论坛元老

积分
3988
2021-11-2 17:52:58 | 显示全部楼层
????????这是什么啊
回复

使用道具 举报

60

主题

266

回帖

808

积分

高级会员

积分
808
minlearnhbs

60

主题

266

回帖

808

积分

高级会员

积分
808
2021-11-2 17:55:09 | 显示全部楼层
回复

使用道具 举报

1

主题

190

回帖

635

积分

高级会员

积分
635
电脑

1

主题

190

回帖

635

积分

高级会员

积分
635
2021-11-2 17:49:00 | 显示全部楼层
精神分裂的前兆

回复

使用道具 举报

51

主题

1792

回帖

4715

积分

论坛元老

积分
4715
LikeOracle

51

主题

1792

回帖

4715

积分

论坛元老

积分
4715
2021-11-2 17:57:51 | 显示全部楼层
不明觉厉

回复

使用道具 举报

80

主题

107

回帖

788

积分

高级会员

积分
788
kaleok 楼主

80

主题

107

回帖

788

积分

高级会员

积分
788
2021-11-2 18:02:06 | 显示全部楼层

超级无敌小马甲 发表于 2021-11-2 18:03

学习了。还是蛮有用的
总比水贴好
LOC里不是每个都是编程大佬,所有知识学习是不错的 ...

这就是我拿hostloc当日记本的意义所在。
回复

使用道具 举报

7

主题

225

回帖

745

积分

高级会员

积分
745
refrigerator

7

主题

225

回帖

745

积分

高级会员

积分
745
2021-11-2 18:07:01 | 显示全部楼层
搁这儿记笔记?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|HS2V主机综合交流论坛

GMT+8, 2024-11-22 15:35 , Processed in 0.075722 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表