PHP头文件是';t在子文件夹中工作


PHP header file isn't working in a subfolder

我的网站上有一个评论页面,我希望我的网站对用户非常友好,所以我把它作为一个子索引。我把我的index.php放在一个名为reviews的文件夹下(在这里找到),所以域只是/reviews。当我尝试包含PHP或CSS时,它会放弃它们并将它们排除在外。

我用来包含CSS的代码是:

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

我使用的PHP include()是:

<?php 
    include('header.php');
?>

这个PHP适用于所有不使用父文件夹的页面,例如index.PHP(用于我的主页)。

PHP文档中的HTML是:

<html>
<center><nav>
<ul>
    <li><a href="/">Home</a></li>
    <li><a href="">Arcade</a>
        <ul>
            <li><a href="/arcade/action">Action</a></li>
            <li><a href="/arcade/arcade">Arcade</a></li>
            <li><a href="/arcade/puzzle">Puzzle</a></li>
            <li><a href="/arcade/vehicle">Vehicle</a></li>
            <li><a href="/arcade/violence">Violence</a></li>
            <li><a href="/arcade/defense">Defense</a></li>
            <li><a href="/arcade/rpg">RPG</a></li>
        </ul>
    </li>
    <li><a href="">Watch</a>
        <ul>
            <li><a href="/watch/tv">TV Shows</a></li>
            <li><a href="/watch/movies">Movies</a></li>
        </ul>
    </li>
    <li><a href="">Extras</a>
        <ul>
            <li><a href="/news">Updates</a></li>
        </ul>
    </li>
    <li><a href="/support">Support</a></li>
</ul>
</nav></center>
</html>

有人知道让我的PHP和CSS在子文件夹中工作的解决方案吗?

我的网站是http://www.gameshank.com/

主页正在使用header.php文件!

如果您知道header.php与您要将其包含到的文件位于同一目录中:

include(__DIR__ . '/header.php');

这不受工作目录更改的影响,因此非常安全。

  • 魔术常量Docs

你可能会发现以下问答;一个有趣的:

  • html和php中的绝对路径有什么区别
  • 相对路径:向下和向上
  • PHP包含../无法打开

此外,了解CSS-URL(URL路径在浏览器中解析)和PHP中的路径(这些文件路径在服务器上解析,浏览器还很远)之间的区别也很重要。

这行得通吗?

$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/header.php";
include($path);

通过以下方式调用.PHP文件:

<?php
    include('../header.php')
?>

/../header.php也不能工作。。。

然后清除你的浏览器历史记录和cookie,然后它就可以从编辑端开始工作了。

奇怪的修复,但它起了作用。但在编辑清除历史和cookie之前,它是不起作用的。