我正在构建一个非常小的页面,它将在为期5天的会议期间生效。每天网站都需要加载新内容,因此我使用一个小脚本加载一个包含文件。我试图让我的包括成为相对路径,但有些东西不能正常工作。下面是我正在使用的当前代码,它使用一个数组(24代表今天的日期,所以我可以查看是否有效),映射到文件的日期和默认的内容应该条件不返回结果。
<?php
$path = $_SERVER['HTTP_HOST'];
$date = date("j");
$event_dates = array(24,15,16,17,18,19);
if (in_array($date, $event_dates)) {
$path .= "/_includes/date-".$date.".php";
include($path);
}
else {
$path .= "/_includes/default.php";
include($path);
}
?>
如果我包含“_includes / default.php”,一切正常,这可能需要现在的解决方案但是我想弄清楚相对路径问题,如果我碰到这个问题以后问题。另外,如果我将include更改为echo,那么我会得到我期望的结果。
答案 0 :(得分:1)
由于您正在使用.=
,因此"/_includes/..."
字符串将连接到$path
。然后它将具有localhost/_includes/...
形式的某些内容。这不包含方案(HTTP(S)),因此只有在该目录中实际拥有文件夹localhost
时才会有效。
如果您想要当前目录,可以使用dirname(__FILE__)
代替。如果./_includes/...
是当前目录的子目录,也可以使用_includes
作为路径。