如何正确地引用css文件并包含在php项目中?
我是php新手,了解这是一个非常常见的问题。我在网上读过很多相关的问题,这里是stack overflow,但是我还没有成功地实现它们 我有一个目录结构如下的项目:如何正确地引用css文件并包含在php项目中?,php,include,Php,Include,我是php新手,了解这是一个非常常见的问题。我在网上读过很多相关的问题,这里是stack overflow,但是我还没有成功地实现它们 我有一个目录结构如下的项目: Project/ includes/ header.php footer.php sidebar.php css/ style.css index.php blog/
Project/
includes/
header.php
footer.php
sidebar.php
css/
style.css
index.php
blog/
index.php
在根目录的index.php中,我拉入了如下所示的includes:
include 'includes/header.php';
以及header.php中的css文件,如下所示:
<link rel="stylesheet" href="css/style.css">
现在,它可以在根目录中的index.php文件和根目录中的任何其他文件上工作。但是,对于子文件夹(例如blog/index.php)中的所有页面,它都会断开
我的主要问题是如何在项目中正确引用css文件和Include,以便二级页面也可以访问这些文件
注:-我正在本地服务器上工作
-所有项目文件都包含在根目录下的项目文件夹中-(localhost:8888/project/index.php) 任何帮助都将不胜感激
谢谢。您需要通过应用程序的根目录引用它。使用以下选项
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="//domain.com/css/style.css">
include $_SERVER['DOCUMENT_ROOT'].'/includes/header.php';
include$_SERVER['DOCUMENT_ROOT']./includes/header.php';
您当前使用的方式不适用于域名根目录以外的任何文件。它正在做的事情如下
您位于,并且您的站点包含css/style.css,因此它将附加到域中。在根级别,这很好。现在,如果你是在它仍然是附加到域,如果你不包括领先的斜杠。。。所以现在它正在寻找你的风格。添加前导斜杠告诉服务器,我想在我的域的根中查找它
我为
提供的第二个选项是,您需要通过应用程序的根引用它。使用以下选项
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="//domain.com/css/style.css">
include $_SERVER['DOCUMENT_ROOT'].'/includes/header.php';
include$_SERVER['DOCUMENT_ROOT']./includes/header.php';
您当前使用的方式不适用于域名根目录以外的任何文件。它正在做的事情如下
您位于,并且您的站点包含css/style.css,因此它将附加到域中。在根级别,这很好。现在,如果你是在它仍然是附加到域,如果你不包括领先的斜杠。。。所以现在它正在寻找你的风格。添加前导斜杠告诉服务器,我想在我的域的根中查找它
我为提供的第二个选择简单但不是最好的方法是,您可以始终链接到绝对路径:(我不推荐)
最好有一个带有base_url变量的配置文件,并始终通过base_url链接css和其他内容 最简单但不是最好的方法是,您可以始终链接到绝对路径:(我不推荐)
最好有一个带有base_url变量的配置文件,并始终通过base_url链接css和其他内容 如果这样做的话,我会将它设置为一个常量,而不是一个变量,它绝对是在应用程序中首先定义的。通过使用DEFINE('BASE\u URL','')
您可以确信BASE\u URL
将永远不会被覆盖。目前,我在标题
中包含了此html标记。这就解决了链接到样式表的问题。如果这样做,我会将它设置为一个常量,而不是一个变量,它绝对是在应用程序中首先定义的。通过使用DEFINE('BASE\u URL','')
您可以确信BASE\u URL
将永远不会被覆盖。目前,我在标题
中包含了此html标记。这解决了链接到样式表的问题。嗨,bretterer,谢谢你的建议。在链接到css文件之前添加斜杠似乎不起作用。当我这样做时,它没有引用它。已经说过,您的第二种方法是有效的,但在这种情况下,我将不得不硬编码在每个链接的路径。我一直在寻找一种更具伸缩性的方法,所以现在我按照MIIB的建议定义了基本url。成功了。谢谢你的帮助。嗨,布雷特,谢谢你的建议。在链接到css文件之前添加斜杠似乎不起作用。当我这样做时,它没有引用它。已经说过,您的第二种方法是有效的,但在这种情况下,我将不得不硬编码在每个链接的路径。我一直在寻找一种更具伸缩性的方法,所以现在我按照MIIB的建议定义了基本url。成功了。谢谢你的帮助。