我继承了以前开发人员使用下面的意大利面条代码处理导航,图片和脚本项目的相对路径的网站。
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()但它并不可靠。谢谢!
答案 0 :(得分: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");