最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php絕對(duì)路徑與相對(duì)路徑之間關(guān)系的的分析

 更新時(shí)間:2010年03月03日 13:24:26   作者:  
php絕對(duì)路徑與相對(duì)路徑之間關(guān)系的的深入研究

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

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

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

前一陣子老是受php開發(fā)中,文件互相引入require()相對(duì)位置關(guān)系的困擾,為了徹底弄清它們的關(guān)系,筆者做了個(gè)實(shí)驗(yàn)。

以下是實(shí)驗(yàn)圖:

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

下級(jí)對(duì)上級(jí)的引用(簡(jiǎn)稱下級(jí)引用,英文反之便是)

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

我們先來說說上級(jí)引用:

看我們的實(shí)驗(yàn)圖,在圖中項(xiàng)目下分別有aa bb ee 三個(gè)同級(jí)目錄和一個(gè)index.php文件,在bb下又有cc目錄,cc下又有dd目錄和cc.php ccc.php兩個(gè)文件,同樣dd下也包含一個(gè)dd.php文件。凡是上層對(duì)下層均屬上級(jí)引用.

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

大家仔細(xì)看一下目錄結(jié)構(gòu),便會(huì)發(fā)現(xiàn)這三種引用雖然同屬于上級(jí)引用,但它們又不完全相同,我把它分成兩種情況:即在上級(jí)引用中存在兩種引用情況:1.從屬的上級(jí)引用(類如cc.php對(duì)dd.php,,因?yàn)檫@兩個(gè)文件同屬于cc目錄)2.非從屬的上級(jí)引用(類如index.php對(duì)于所有文件的引用和ee.php對(duì)dd.php的引用都屬于這種情況因?yàn)樗鼈兣c被引用的文件并沒有一個(gè)共同的父目錄,在能相對(duì)于站點(diǎn)根目錄).

對(duì)于從屬上級(jí)引用:

以下是在cc.php對(duì)dd.php的引用

require('dd/dd.php');

對(duì)于非從屬上級(jí)引用:

以下是在ee.php中對(duì)cc.php的引用

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

以上所說的是上級(jí)引用,下面我們來了解一下下級(jí)引用!同理下層對(duì)上層的引用都屬于下級(jí)引用,同樣分成從屬與非從屬兩類,從屬下級(jí)引用相對(duì)路徑以它們的父目錄為根目錄,例如:

Ttt.php對(duì)bbff.php的引用就屬于這種情況:require('../bb/cc/cc.php');

非從屬的下級(jí)引用卻是以網(wǎng)站的根目錄為準(zhǔn)的,例如:

ccc.php對(duì)ee.php的引用: require('../../ee/ee.php');

以上是下級(jí)引用的介紹,最后我們來看一下平級(jí)引用或者叫同級(jí)引用,其實(shí)同級(jí)引用也是分為這兩種情況:從屬同級(jí)引與非從屬同級(jí)引用

從屬同級(jí)引用很簡(jiǎn)單:即在同一個(gè)目錄下的兩個(gè)文件的引用

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

非從屬同級(jí)引用:即不在同一個(gè)目錄下(沒有共同的父目錄,只有以網(wǎng)站目站為父目錄的情況),但是級(jí)別是相同的兩個(gè)文件的引用,例如: 在aa.php在引用ee.php   require('../ee/ee.php');

以上是三種類型不同情況下的引用,另外還有涉及到嵌套引用的問題

比如:

ff.php引用dd.php,而dd.php又引用的gf.php,這種情況,本來dd.php 引用gf.php屬于下級(jí)引用中的非從屬引用,寫法是這樣的:require('../../../ee/gf.php');而ff.php引用dd.php屬于上級(jí)引用中的從屬引用,寫法是這樣的:require('./cc/dd/dd.php'); 可是你會(huì)發(fā)現(xiàn)在ff.php中無法找到gf.php文件,那該如何寫呢?我告訴你應(yīng)該在dd.php中這樣寫:require('../ee/gf.php');只有這樣寫就正確了,為什么呢?因?yàn)樵谏婕暗角短滓玫臅r(shí)候被引用文件的相對(duì)路徑要以最終的引用文件為準(zhǔn)!

簡(jiǎn)而言之:

其實(shí)很簡(jiǎn)單的,你用你的web根目錄做根目錄.不管你怎么定,你文件肯定有一個(gè)全部都要包含的文件的,比如有的較global.php,有的較common.php

假如這個(gè)文件放再根目錄

wwwroot/global.php

里面第一行你加個(gè)chdir(dirname(__FILE__)); //切換到global.php所在目錄就是跟目錄

其他文件使用

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

這樣就行了,因?yàn)槟愕膅lobal.php已經(jīng)把路徑切換到wwwroot了,你不用像很多人那么麻煩

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

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

相關(guān)文章

  • mysql時(shí)區(qū)問題

    mysql時(shí)區(qū)問題

    表中有一個(gè)datetime字段是由服務(wù)器所在時(shí)區(qū)插入的當(dāng)前時(shí)間,能不能從sql語句中取出服務(wù)器所在的時(shí)區(qū)(如-8),如何在sql中把這個(gè)字段轉(zhuǎn)換成我想要的時(shí)區(qū)的時(shí)間
    2008-03-03
  • 詳解各種PHP函數(shù)漏洞

    詳解各種PHP函數(shù)漏洞

    這篇文章主要介紹了詳解各種PHP函數(shù)漏洞,對(duì)漏洞感興趣的同學(xué),可以參考下
    2021-04-04
  • php與阿里云短信接口接入操作案例分析

    php與阿里云短信接口接入操作案例分析

    這篇文章主要介紹了php與阿里云短信接口接入操作,結(jié)合具體實(shí)例形式分析了php與阿里云短信接口接入的具體操作步驟、原理、實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • 如何使用php輸出時(shí)間格式

    如何使用php輸出時(shí)間格式

    PHP默認(rèn)的時(shí)區(qū)UTC時(shí)區(qū),而北京正好位于該時(shí)區(qū)的東八區(qū),領(lǐng)先UTC時(shí)區(qū)8個(gè)小時(shí),所以在PHP中使用time()函數(shù)獲取的當(dāng)前時(shí)間總是相差8個(gè)小時(shí)
    2013-08-08
  • php使用google地圖應(yīng)用實(shí)例

    php使用google地圖應(yīng)用實(shí)例

    這篇文章主要介紹了php使用google地圖應(yīng)用方法,分析了google地圖接口調(diào)用技巧及具體用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • 使用PHP和Xunsearch實(shí)現(xiàn)歌曲搜索功能

    使用PHP和Xunsearch實(shí)現(xiàn)歌曲搜索功能

    這篇文章主要為大家詳細(xì)介紹了如何用 PHP 和 Xunsearch 搭配,快速打造一個(gè)又快又準(zhǔn)的歌曲搜索功能,讓用戶的體驗(yàn)直線上升,感興趣的可以了解下
    2024-11-11
  • PHP+JS實(shí)現(xiàn)文件分塊上傳的示例代碼

    PHP+JS實(shí)現(xiàn)文件分塊上傳的示例代碼

    我們?cè)谏蟼鞔笪募r(shí),可能會(huì)由于服務(wù)器的原因?qū)е挛募蟼魇。募^大時(shí)由于服務(wù)器的配置或響應(yīng)事件過長(zhǎng)導(dǎo)致上傳文件失敗,這時(shí)候我們可以將一個(gè)大的文件分為若干塊,然后分批次上傳到服務(wù)端。本文介紹了實(shí)現(xiàn)的方法,需要的可以參考一下
    2022-11-11
  • php輸出反斜杠的實(shí)例方法

    php輸出反斜杠的實(shí)例方法

    在本篇文章中我們給大家分享的是關(guān)于php如何輸出反斜杠實(shí)例內(nèi)容以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • 關(guān)于PHP中協(xié)程和阻塞的一些理解與思考

    關(guān)于PHP中協(xié)程和阻塞的一些理解與思考

    這篇文章主要給大家介紹了關(guān)于PHP中協(xié)程和阻塞的一些理解與思考,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • PHP遍歷數(shù)組的幾種方法

    PHP遍歷數(shù)組的幾種方法

    這三種方法中效率最高的是使用foreach語句遍歷數(shù)組。從PHP4開始就引入了foreach結(jié)構(gòu),是PHP中專門為遍歷數(shù)組而設(shè)計(jì)的語句,推薦大家使用。先分別介紹這幾種方法
    2012-03-03

最新評(píng)論

五莲县| 土默特左旗| 横山县| 朔州市| 甘德县| 青岛市| 平利县| 六盘水市| 甘德县| 安多县| 乐至县| 宕昌县| 青龙| 满洲里市| 泾源县| 千阳县| 华阴市| 神农架林区| 呼和浩特市| 广河县| 舟山市| 石家庄市| 苍溪县| 乌海市| 敦煌市| 神农架林区| 南宁市| 本溪市| 三原县| 海城市| 枝江市| 元氏县| 苏尼特左旗| 比如县| 策勒县| 紫云| 阳西县| 赞皇县| 松江区| 桂林市| 黄梅县|