在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 訪問...