【问题标题】:PHP Include & CSSPHP 包含 & CSS
【发布时间】:2017-03-10 20:15:34
【问题描述】:

在我的网站中,我想使用 index.php 页面中的 PHP 包含行来添加页眉和页脚等重要部分。

现在,文件夹结构如下:

/index.php

/css/style.css

/includes/header.php

/includes/footer.php

请记住,我在 localhost 环境中工作。

现在我的问题是如何在 index.php 和 header.php 中正确引用我的 CSS 文件?我应该使用 config.php 文件吗?如果可能的话,我想避免使用绝对路径。

目前,我的 CSS 文件已被读取并正确显示,但是,当我进行更改时,CSS 不会显示所做的更改并保留原始未更改的文件。

index.php

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

<body>
  <?php include 'includes/header.php';?>
  <div class="container">
    <div class="inner-container">
      <?php include 'includes/javascript.php';?>
    </div>

header.php

<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<body>
  <header>
      <div id="logo">
        <div class="logo-container">
          <img src="img/final_logo_400px.png" alt="">
        </div>
      </div>
      <nav>
        <ul>

【问题讨论】:

  • 到load网页中的css文件,你需要使用html的&lt;link /&gt;标签,而不是php的include函数;
  • 我应该提到我很清楚这一点,但感谢您的回复。

标签: php html css


【解决方案1】:

只使用相对链接不是吗?即:

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

我通常会执行以下操作来检查文件是本地文件还是远程文件,如果文件是远程文件,则使用其修改时间对文件进行版本化(本地检查失败):

 $url = $_SERVER['DOCUMENT_ROOT'];
 $parts = explode('/',$url);
 $base = $parts[0];
 if ($base == 'C:') { ?>
   <link href="/css/style.css" rel="stylesheet" type="text/css" />
 <?php } else { ?>
   <link href="/css/style.css?v=<?php echo filemtime($basepath."/css/style.css")?>" rel="stylesheet" type="text/css" />
 <?php } ?>

【讨论】:

  • 嘿!感谢您的答复!我们将把上面的 php 代码放在哪里?在 index.php、header.php 还是单独的 config.php 文件中?
  • 好吧,从技术上讲(我猜!)其中任何一个都可以,但我认为 header.php 最有意义。请注意,此代码不是“粘贴即可”,它说明了以防止缓存问题的方式包含 CSS 文件的概念。
  • ...只是补充一下,如果您对编码比较陌生,我会简单地使用我的第一个示例...一个标准的相对链接。需要对其进行更改以反映您的目录结构。
  • 看到的是,通过相关链接,当我修改 css 样式时,我似乎无法让 css 正常工作。也许我应该在 codepen 上做一个例子。
  • 进行更改后,您是否在没有缓存的情况下刷新浏览器?就像,ctrl + f5?
猜你喜欢
  • 2012-05-18
  • 1970-01-01
  • 2017-11-22
  • 2015-05-11
  • 2021-05-23
  • 2013-05-25
  • 2023-03-06
  • 2011-03-29
  • 1970-01-01
相关资源
最近更新 更多