我只是开始使用PHP而且有一个问题就是杀了我。
我有包含我的header.php
和footer.php
的文件夹。在我的header.php
我有我的html标头标签。在整个网站中包括身体标签的一部分。我遇到的问题是我无法将我的css文件连接到不同目录中的其他页面。请参阅下面的示例,我的文件结构。
的index.php
- (css)bootstrap.css,styles.css
- (inc)header.php,footer.php
- (rooms)toddlers.php,montessori.php
- (其他)otherFile.php和其他.php
因此header.php
包含指向bootstrap.css
,styles.css
和所有图片的链接。
如果我在header.php
中加入toddlers.php
,一切正常。然后我把它包括在让我们说index.php
并且没有我的css或图像显示。在header.php
我有bootstrap.css
的链接:
<link href="../bootstrap.min.css" rel="stylesheet">
styles.css
的相同内容适用于toddlers.php
但不适用index.php
。
这是header.php
toddlers.php
包含代码
define("APPLICATION_PATH", realpath('../Sites/'));
define("CURRENT_PATH", getcwd());
$paths = array(APPLICATION_PATH, CURRENT_PATH);
set_include_path(implode($paths, PATH_SEPARATOR));
include('../inc/header.php');
如何在header.php
中包含我的所有图片和CSS,然后将其包含在任何其他文件中?
答案 0 :(得分:0)
你应该使用绝对链接而不是相对链接 实际上,html是逐字包含的,并且css表在php执行后链接。这意味着CSS包含将适用于与toddlers.php相同的目录中的每个页面,但不适用于其他页面。
答案 1 :(得分:0)
最简单的方法是使用绝对URL而不是相对URL。另一种方法是使用具有每个目录的相对路径的特定标头。这更麻烦,只有你改变主机才有道理,因为你没有更新要做。另一种方法是使用您在包含文件中使用的PHP变量来根据页面本身更改路径。因此,例如,根目录中的页面将使用类似$ path =&#39;&#39;内部目录中的页面将使用$ path =&#39; ../'等等......只需确保在插入包含的代码之前更新$ path变量。