【发布时间】:2013-07-17 07:38:15
【问题描述】:
好的,标题有点混乱,但这是我网站的结构:
/
|--header.php
|--page1.php
+--css
|--style.css
+--subsection
|--page2.php
+--functions
|--classes.php
对,所以page1.php 和page2.php 都会include header.php。我只使用从任何 php 页面到 header.php 的相对文件路径来做到这一点。
header.php本身包含其他文件;例如css/style.css 和functions/classes.php。
我可能会像下面这样包含它们:
<link rel="stylesheet" href="css/style.css">
<?php require_once("functions/classes.php"); ?>
这适用于page1.php,因为相关路径是正确的。对于subsection/page2.php,这将失败,因为路径应该是../css/style.css 和../functions/classes.php,但仍保持header.php 中定义的路径。
我的问题是,无论调用header.php(例如apage.php)的文件位于网站目录中的什么位置,我如何才能让header.php 始终为其包含使用正确的相对文件路径。
【问题讨论】:
-
也可以使用ajax从page1加载page2.php的内容。
-
我真的认为你误解了这个问题
-
这就是为什么总是在配置或默认文件中定义根路径是一种很好的做法,如下面的 JohnnyFaldo 所述。如果这是不可能的,那么总是使用相对于
$_SERVER["DOCUMENT_ROOT"]的路径