我是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和其他东西