簡體   English   中英

處理相對路徑的更好方法

[英]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.

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