包含和相对路径有问题
Having trouble with includes and relative paths
我正在构建一个非常小的页面,该页面将在 5 天的会议期间有效。该站点每天都需要加载新内容,因此我使用一个小脚本加载一个包含文件。我试图让我的包含成为相对路径,但有些东西不正常。下面是我正在使用的当前代码,它使用一个数组(24 是今天的日期,所以我可以检查 ti 是否在工作)映射到文件的日期和默认的内容片段应该条件不是 return 结果。
<?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,那么我会得到我期望的结果。
由于您使用的是 .=
,因此 "/_includes/..."
字符串连接到 $path
。然后它将具有 localhost/_includes/...
形式的内容。这不包含方案 (HTTP(S)),因此仅当您在该目录中确实有一个文件夹 localhost
时才有效。
如果你想要当前目录,你可以使用 dirname(__FILE__)
。如果 _includes
是当前目录的子目录等,您也可以使用 ./_includes/...
作为路径
我正在构建一个非常小的页面,该页面将在 5 天的会议期间有效。该站点每天都需要加载新内容,因此我使用一个小脚本加载一个包含文件。我试图让我的包含成为相对路径,但有些东西不正常。下面是我正在使用的当前代码,它使用一个数组(24 是今天的日期,所以我可以检查 ti 是否在工作)映射到文件的日期和默认的内容片段应该条件不是 return 结果。
<?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,那么我会得到我期望的结果。
由于您使用的是 .=
,因此 "/_includes/..."
字符串连接到 $path
。然后它将具有 localhost/_includes/...
形式的内容。这不包含方案 (HTTP(S)),因此仅当您在该目录中确实有一个文件夹 localhost
时才有效。
如果你想要当前目录,你可以使用 dirname(__FILE__)
。如果 _includes
是当前目录的子目录等,您也可以使用 ./_includes/...
作为路径