include php 相对路径_关于"绝对路径"和"相对路径"

作为一个phper,一开始学习的时候,可能都接触过绝对路径和相对路径,但是也可能很多没学基础的人,直接撸tp去了,根本不了解路径,一遇到问题就两眼一抹黑瞎几把问,所以,今天就来讲讲关于路径的事吧.

绝对路径

绝对路径是指从根目录开始的路径,根目录的定义根据环境的不同而不同

在windows中,根目录以盘符开始,例如:"E:\tioncico\www\es_demo1.php"

在linux中,根目录直接是系统的根目录,例如:"/www/work/es_demo1/index.php"

在url域名中,根目录由网址开始,例如:"www.php20.cn/admin/index.php"

如以上这种情况,直接从根目录开始的路径,就是绝对路径.

绝对路径除了从根目录开始的写法,还可以直接通过'/'字符串开头,可直接代表根目录,同样,根目录根据环境的不同而不同

例如:"/work/www/es_demo/index.php".

在windows中,代表着"盘符:\work\www\es_demo\index.php";(windows目录分隔符是\)

在linux环境中,代表着"/work/www/es_demo/index.php".

在url域名中,代表着:"域名/work/www/es_demo/index.php".

例如:<?php

echo getcwd();

在windows中:

在linux中:

如上就是绝对路径的说明以及2种写法

相对路径

相对路径是指从当前路径开始计算的路径,它的写法是用"./"代表当前目录,然后进行计算目录

例如,当前位置是"/www/work/es_demo1/index.php"

例如以下目录结构:

在index.php中,调用test.txt,和test2.txt的写法如下:<?php

echo "所在目录:".getcwd()."
";

$testTxtAbsolute1 = '/tioncico/othe/a.cn/test.txt';//绝对路径写法

$testTxtAbsolute2 = 'E:/tioncico/othe/a.cn/test.txt';//绝对路径写法

$testTxtRelative = './test.txt';//相对路径写法

echo file_get_contents($testTxtAbsolute1),"
";

echo file_get_contents($testTxtAbsolute2),"
";

echo file_get_contents($testTxtRelative),"
";

$test2TxtAbsolute1 = '/tioncico/othe/a.cn/test2/test2.txt';//绝对路径写法

$test2TxtAbsolute2 = 'E:/tioncico/othe/a.cn/test2/test2.txt';//绝对路径写法

$test2TxtRelative = './test2/test2.txt';//相对路径写法

echo file_get_contents($test2TxtAbsolute1),"
";

echo file_get_contents($test2TxtAbsolute2),"
";

echo file_get_contents($test2TxtRelative),"
";

同样,我们可以使用"../"来表示上级目录

在test3.php中,使用"../"来调用test.txt和test2.txt写法如下:<?php

echo "所在目录:".getcwd()."
";

$testTxtRelative = '../test.txt';//相对路径写法

echo file_get_contents($testTxtRelative),"
";

$test2TxtRelative = '../test2/test2.txt';//相对路径写法

echo file_get_contents($test2TxtRelative),"
";

我们还可以用"../../"来表示父级的父级,这里不多做说明

路径的混淆

很多人搞不清楚根据环境下,路径的问题,我根据平时的经验,将phper能遇上的路径环境都区分了出来,具体可分为:服务器绝对路径,运行着php服务的环境,一般是windows或者linux,该路径能获取到服务器环境的文件信息,只能通过服务端自身(例如运行的php代码,shell命令等)调用

服务器相对路径,运行着php服务的环境,一般是windows或者linux,该路径能获取到服务器环境的文件信息,只能通过服务端自身(例如运行的php代码,shell命令等)调用

url绝对路径,在浏览器地址栏或者在html代码中显示,url属于http协议,需要跟服务端交互,才能正确的获取文件信息,浏览器通过url绝对路径,可获取到http服务器绑定目录的文件信息

url相对路径,在html代码中显示,可通过相对路径获取到该网页和http服务器绑定目录下的文件信息

用户绝对路径,在浏览器地址栏和标签中,都可通过本地绝对路径去获取本机的文件,例如在浏览器输入:"E:\tioncico\othe\a.cn\test.txt",即可获取到本机E磁盘下的这个文件

用户相对路径,同样,在浏览器中,如果你直接通过"E:\tioncico\othe\a.cn\index.html"打开一个html,里面html标签如果写了绝对路径,也可通过该相对路径,获取到本机磁盘下的相对路径文件

其他

关于php下的绝对路径问题,如果index.php调用test.php,在test.php获取路径,以及操作相对路径,那这个路径是以index.php为准还是以test.php为准呢?我们新建一个以下的目录结构:

在index.php引入test.php:<?php

/**

* Created by PhpStorm.

* User: Apple

* Date: 2018/11/30 0030

* Time: 11:46

*/

include "./test/test2/test.php";

在test.php调用test.txt以及输出目录:<?php

/**

* Created by PhpStorm.

* User: Apple

* Date: 2018/11/30 0030

* Time: 11:47

*/

echo "你的路径是:".getcwd()."
";

echo  file_get_contents("../../test.txt");

echo  file_get_contents("./test.txt");

调用index.php 输出结果:

很明显,路径是以调用的文件为基准的.那该如何获取到test.php的目录呢?

可通过__DIR__常量获取当前文件目录

本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值