2011-03-04 85 views
2

我繼承了以前的開發人員使用下面的意大利麪代碼來處理導航,圖像和腳本項目的相對路徑的網站。更好的方式來處理相對路徑

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(),但它不能證明可靠。謝謝!

回答

3

通常很方便的使用__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"); 
+0

謝謝,我會試試這個。 – gnome 2011-03-04 00:43:42