php绝对路径与相对路径之间关系的的分析

2019-04-10 00:20:43于海丽
require('dd/dd.php');

对于非从属上级引用:

以下是在ee.php中对cc.php的引用

require('../bb/cc/cc.php');

以上所说的是上级引用,下面我们来了解一下下级引用!同理下层对上层的引用都属于下级引用,同样分成从属与非从属两类,从属下级引用相对路径以它们的父目录为根目录,例如:

Ttt.php对bbff.php的引用就属于这种情况:require('../bb/cc/cc.php');

非从属的下级引用却是以网站的根目录为准的,例如:

ccc.php对ee.php的引用: require('../../ee/ee.php');

以上是下级引用的介绍,最后我们来看一下平级引用或者叫同级引用,其实同级引用也是分为这两种情况:从属同级引与非从属同级引用

从属同级引用很简单:即在同一个目录下的两个文件的引用

例如:在dd.php中引用ttt.php require('ttt.php');

非从属同级引用:即不在同一个目录下(没有共同的父目录,只有以网站目站为父目录的情况),但是级别是相同的两个文件的引用,例如: 在aa.php在引用ee.php   require('../ee/ee.php');

以上是三种类型不同情况下的引用,另外还有涉及到嵌套引用的问题

比如:

ff.php引用dd.php,而dd.php又引用的gf.php,这种情况,本来dd.php 引用gf.php属于下级引用中的非从属引用,写法是这样的:require('../../../ee/gf.php');而ff.php引用dd.php属于上级引用中的从属引用,写法是这样的:require('./cc/dd/dd.php'); 可是你会发现在ff.php中无法找到gf.php文件,那该如何写呢?我告诉你应该在dd.php中这样写:require('../ee/gf.php');只有这样写就正确了,为什么呢?因为在涉及到嵌套引用的时候被引用文件的相对路径要以最终的引用文件为准!

简而言之:

其实很简单的,你用你的web根目录做根目录.不管你怎么定,你文件肯定有一个全部都要包含的文件的,比如有的较global.php,有的较common.php

假如这个文件放再根目录

wwwroot/global.php

里面第一行你加个chdir(dirname(__FILE__)); //切换到global.php所在目录就是跟目录

其他文件使用

相关文章 大家在看