天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php絕對路徑與相對路徑之間關系的的分析

php中好像不能像ASP那樣用“/”表示根目錄,代之以$_SERVER['DOCUMENT_ROOT'],其它則相同:../表示向上一層。./表示當前層。假如現在a/b/c/s.php要調用根目錄下的 /bb/s2.txt,則:

$RootDir = $_SERVER['DOCUMENT_ROOT'];
$fireDir = "$RootDir/bb/s2.txt";

或者:“../../../bb/s2.txt”表示向上返回到b再向上到a再向上到根目錄然后到bb下。

前一陣子老是受php開發中,文件互相引入require()相對位置關系的困擾,為了徹底弄清它們的關系,筆者做了個實驗。

以下是實驗圖:

當前項目(project2)的絕對路徑是:D:/www/php_case/Coucom_make。也就是我們當前項目的根目錄root.
  
為了能更加清楚的表述不同級別的目錄文件相互的引入問題,偶大膽將引用分成三種類型即:上級對下級的引用(簡稱上級引用,英文譯為:superior to underling。簡稱(stou)).

下級對上級的引用(簡稱下級引用,英文反之便是)

平級引用或叫同級引用(英文:paratactic)?! ?BR> 
好了,我們明確了引用類型,下面我們來看不同類型引用它們有著什么樣的規則。

我們先來說說上級引用:

看我們的實驗圖,在圖中項目下分別有aa bb ee 三個同級目錄和一個index.php文件,在bb下又有cc目錄,cc下又有dd目錄和cc.php ccc.php兩個文件,同樣dd下也包含一個dd.php文件。凡是上層對下層均屬上級引用.

例如:index.php對于所有文件的引用:
   cc .php對dd.php的引用:
   ee.php對dd.php的引用:

大家仔細看一下目錄結構,便會發現這三種引用雖然同屬于上級引用,但它們又不完全相同,我把它分成兩種情況:即在上級引用中存在兩種引用情況:1.從屬的上級引用(類如cc.php對dd.php,,因為這兩個文件同屬于cc目錄)2.非從屬的上級引用(類如index.php對于所有文件的引用和ee.php對dd.php的引用都屬于這種情況因為它們與被引用的文件并沒有一個共同的父目錄,在能相對于站點根目錄).

對于從屬上級引用:

以下是在cc.php對dd.php的引用

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所在目錄就是跟目錄

其他文件使用

require "../../../global.php";
require "aa/aa.php";
require "bb/bb/cc.php";

這樣就行了,因為你的global.php已經把路徑切換到wwwroot了,你不用像很多人那么麻煩

define('ROOT_PATH',dirname(__FILE__));
require ROOT_PATH.....

chdir(dirname(__FILE__)); 的確很好使,相對位置引入這個文件其他引入文件只要以他為基準就好了。

php技術php絕對路徑與相對路徑之間關系的的分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 无套内射无矿码免费看黄 | 99热久这里都是精品小草 | 久久99综合国产精品亚洲首页 | 国产乱色伦影片在线观看 | 巨爆乳中文字幕爆乳区 | 无码射肉在线播放视频 | 日本午夜精品理论片A级APP发布 | 亚洲在线无码免费观看 | 网址在线观看你懂我意思吧免费的 | 日本乱子伦一区二区三区 | 无码专区久久综合久综合字幕 | 东北老妇xxxxhd| 饥渴的护士自慰被发现 | 俄罗斯美女z0z0z0在线 | 中文字AV字幕在线观看 | 欧美性色xo影院69 | 毛片手机在线观看 | 日本特殊精油按摩 | 女教师杨雪的性荡生活 | 757一本到午夜宫 | 成年黄网站免费大全毛片 | 久久精品一卡二卡三卡四卡视频版 | 国产在线精品一区二区在线看 | 视频成人永久免费视频 | 老师真棒无遮瑕版漫画免费 | 国产精品一久久香蕉国产线看 | 少妇无码太爽了视频在线播放 | 欧美黑人经典片免费观看 | 在线A亚洲老鸭窝天堂AV高清 | 久久精品视在线观看2 | 国产一区日韩二区欧美三区 | a国产成人免费视频 | 亚洲精品无码午夜福利在线观看 | 日韩av无码在线直播 | 百性阁论坛首页 | 一个人HD在线观看免费高清视频 | 伦理电影2499伦理片 | 91久久精品一区二区三区 | 高龄熟女50P| 久久亚洲精品AV成人无码 | 强开少妇嫩苞又嫩又紧九色 |