簡體   English   中英

從不同文件夾獲取根路徑目錄時遇到問題

[英]Having issues with getting root path directory from different folders

我正在嘗試為不同文件夾中的不同文件連接某個頭文件。 問題是,例如在/ backend中包含相同文件時,將很容易直接調用它(因為索引也在/ backend中),但是從backend / pages調用它時,它不再調用鏈接結構,從而導致死鏈接。

我已經嘗試使用../和不同的頭文件進行所有可能的操作,但這是不行的。 試圖找到下面的URL這樣的解決方案確實很接近,但是我似乎無法弄清楚。

PHP項目中的根路徑變量

例如,將根自動自動包含在include或require中的最佳方法是什么。

如果使用的前端控制器(如index.php文件)正在啟動並執行整個應用程序,則可以在其中設置一個常量,例如define('APP_ROOT', __DIR__); 並將根設置為您的前端控制器。

您可以通過執行APP_ROOT . "/includes/header.php"從任何地方訪問頭文件APP_ROOT . "/includes/header.php" APP_ROOT . "/includes/header.php"

如果不使用前端控制器,則可以在每個文件中進行設置。 因此,對於后端/頁面,它將類似於./../includes/header.php $_SERVER['DOCUMENT_ROOT']是,使用$_SERVER['DOCUMENT_ROOT']獲取Web服務器vhosts配置所提供的應用程序的根目錄。 (NGINX的Apache最有可能)

$_SERVER['DOCUMENT_ROOT'] . "/app/backend/includes/header.php" 例如$_SERVER['DOCUMENT_ROOT'] . "/app/backend/includes/header.php"

例如,將根自動自動包含在include或require中的最佳方法是什么。

我不知道有任何方法可以做到這一點,而無需修改PHP本身並從源代碼重新編譯,但是我可能是錯的。 您的根路徑將始終存儲在$_SERVER['DOCUMENT_ROOT']

我認為您可能想研究的是自動加載功能 ,更具體地說是PSR-4composer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM