如何正确地引用css文件和包含在一个php项目


How to properly reference the css files and includes in a php project?

我是php新手,了解这是一个相当常见的问题。我在网上和这里的stack overflow上读了很多相关的问题,但是我还没有能够成功地实现它们。

我有一个项目,目录结构如下:

Project/
     includes/
              header.php
              footer.php
              sidebar.php
     css/
              style.css
     index.php
     blog/
              index.php

在index.php的根目录中,我像这样拉入include:

include 'includes/header.php';

header。php中的css文件如下:

<link rel="stylesheet" href="css/style.css">

现在这对根目录下的index.php文件和根目录下的任何其他文件都有效。但是,对于子文件夹中的所有页面,例如blog/index.php

我的主要问题是我如何才能正确地引用我的css文件和我的包括在一个项目,使文件是可访问的二级页面,以及?

指出:
-我在一个本地服务器工作
-所有项目文件都包含在根目录下的project文件夹中- (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';

你目前拥有它的方式是不工作的任何文件以外的根你的域名。它的作用如下:

你在http://example.com/,你的网站包括css/style.css,所以它是附加到域。在根级别,这是可以的。现在,如果你在http://example.com/myFile/andFolder,如果你不包括前导斜杠,它仍然会追加到域名…所以现在它正在http://example.com/myFile/andFolder/css/style.css上寻找你的风格。添加前置斜杠是告诉服务器,我想在我的域的根目录中查找这个

对于<link rel....,我的第二个选择是在域名之前有两个//,这是通过https://托管它的快速方法,如果这是当前页面所在的位置。

最简单但不是最好的方法是链接到绝对路径:(我不推荐)

<link rel="stylesheet" href="http://localhost/Project/css/style.css">

最好配置文件中有一个base_url变量,并且总是通过base_url链接css和其他东西