国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

談談PHP中相對路徑的問題與絕對路徑的使用

2019-11-20 09:13:39
字體:
來源:轉載
供稿:網友

問題描述

首先我們先來看一下我們這個例子的目錄結構以及這三個文件的內容

a.php

<?phpinclude './c/d.php'

b.php

<?phpdefine('__B', 'this is a test');

c/d.php

<?phpinclude '../b.php';var_dump(__B);

在c目錄下面的d.php文件引用了它的上級目錄下的 b.php 文件 單獨運行 c/d.php 的時候不會出問題

但是,如果在和b同級目錄下的a.php引用c/d.php的話就會出問題了

它報錯說的是文件不存在

思考

大概意思就是 a.php 把 c/d.php 引入到 a.php 中后, include '../b.php' 這個路徑就是相對于 a.php 來說的了,然后對于 a.php 來說的這個相對路徑它是不存在的,所以就出現了這個問題

如果一個文件可能在多個地方被引用的時候使用相對路徑就相當容易出問題,然后我們使用絕對路徑能夠輕松解決這個問題。

使用絕對路徑解決問題

如果我們把文件改成如下內容

a.php

<?phpinclude __DIR__.'/../b.php';var_dump(__B);

b.php

<?phpdefine('__B', 'this is a test');

c/d.php

<?phpinclude __DIR__.'/../b.php';var_dump(__B);

這樣就改成了對文件的絕對路徑進行引用了, __DIR__ 是php5.3開始中就有的預定義的魔術常量,表示這個文件所在的目錄,然后我們利用這個來可以寫出絕對路徑,在運行a.php和c/d.php的時候都能夠正常執行了,如果在php5.3之前都是使用 dirname(__FILE__) 來替代 __DIR___

總結

以上就是關于php中相對路徑的問題以及絕對路徑的使用的全部內容,希望對大家使用PHP能有所幫助,避免再進入php中相對路徑的坑。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼和浩特市| 甘洛县| 香河县| 绵阳市| 侯马市| 黎川县| 延长县| 东乡族自治县| 靖边县| 庆安县| 灌南县| 门头沟区| 介休市| 文昌市| 绩溪县| 安塞县| 炉霍县| 泰兴市| 阜新市| 浮山县| 绩溪县| 东山县| 梁平县| 孟村| 涞水县| 石狮市| 泰州市| 治多县| 泾川县| 改则县| 融水| 玛沁县| 甘孜| 陆丰市| 海伦市| 盐边县| 大厂| 游戏| 商河县| 延川县| 克拉玛依市|