PHP的相對路徑問題

2021-08-27 06:37:31 字數 938 閱讀 4480

在php中require,include乙個檔案時,大都是用相對路徑,是個很頭疼的問題。

例如:(**根目錄)

├資料夾

│ └1.php

├資料夾

│ └2.php

└index.php

問題:在1.php中通過include(「../b/2.php」)來引入b目錄下的2.php檔案;

在index.php中通過include(「a/1.php」)來引入a目錄下的1.php檔案;

執行出來當然會出現問題,找不到../b/2.php檔案。 

記住乙個原則,所有的包含語句最後都轉換為以包含檔案路徑為基準的包含路徑

建議使用乙個基本路徑來作為所有的路徑參考,例如 __file__ 

或者 $_server['document_root']

__file__:(適合各種情況)

在config檔案裡配置站點根目錄 

define( "web_root ",   dirname(__file__)   ); 

config檔案放到**的根目錄裡, 

其它檔案包含配置檔案, 

包含其它檔案時根據web_root來定位即可。 

require_once(   web_root   .   "/a.php "   );

$_server['document_root'],適合非虛擬主機

(alias)

情況

<?php

if (!defined("wetsite_base_dir"))

define("wetsite_base_dir", $_server['document_root'].'/clare/');

require_once(wetsite_base_dir.'includes/global.inc.php');

?>

php計算相對路徑

計算兩個目錄的相對路徑,網上有好多 發現好多是用array diff assoc這個函式,這樣不對.我來寫乙個簡單的.created by phpstorm.user 優美 date 2019 9 9 time 19 59 function getpath path1,path2 arr1 expl...

java 相對路徑問題

今天在改寫solr的時候想本地除錯,解決發現有一段使用相對路徑的 不能獲得這個檔案,報ioexception。檢查了一下檔案,的確在那個目錄,user.dir也已經指定到那個目錄了。可以通過new file getabsolutepath獲取當前路徑,也和user.dir想對應。百思不得其解,然後搜...

路徑詳解 絕對路徑,相對路徑,根相對路徑

路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...