[英]Better way to handle relative paths
我繼承了以前的開發人員使用下面的意大利面條式代碼來處理導航、圖像和腳本項的相對路徑的站點。
if(substr_count($_SERVER['REQUEST_URI'], "/") <= 1){
define('NAV', '');
define('IMG', 'i/');
define('INC', 'inc/');
}else{
$z = 0;
while($z < $i) {
$current_pos .= '../';
$z++;
}
define('NAV', $current_pos);
define('IMG', $current_pos.'i/');
define('INC', $current_pos.'inc/');
}
在標記中使用它看起來像這樣:
<a href="<? echo NAV; ?>index.php"><img src="<? echo IMG; ?>spacer.gif" alt="home" /></a>
該網站充斥着這些; 使其難以移動。 我需要一個更好的解決方案,而不必費力瀏覽所有頁面進行更改。 正在使用 getcwd() 但事實證明它並不可靠。 謝謝!
通常使用__FILE__
常量來查找當前文件和周圍目錄的位置很方便:
define('APP_PATH', dirname(__FILE__) . "/");
$img = APP_PATH . "img/";
$js = APP_PATH . "js/";
// etc
// For includes...
require_once(APP_PATH . "include/file.php");
require_once(APP_PATH . "../upperleveldir/file2.php");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.