2013-08-27 146 views
0

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

我使用的,包括我的CSS(这是工作的所有其他网页上)的代码是:

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

PHP的包括(),我使用的是:

<?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文件!

+0

你尝试过使用include('/ header。php');' –

+0

包含一个文件名是相对于工作目录。您给出的示例取决于包含路径设置。将它变成以'./'或'../'开头的filanem,以便不使用包含路径,并且通过'__DIR__'魔术常量附加地绝对化,如果你喜欢它对文件本身而不是工作目录更具表现力。 – hakre

+0

@fred这可能不会起作用,因为机会不是网站的根,而是一些模糊的PHP文件夹。相反,要么找出服务器的根目录并使用绝对路径,要么保持它的相对性,并在目录下的页面上使用include('../ header.php');'。 – LS97

回答

-1

调用由PHP文件:

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

/../header.php将无法​​工作要么...

然后清除浏览器历史记录和Cookie,然后将它从事物的编辑结束工作。

奇怪的修复,但它的工作。但在编辑清除历史记录和Cookie之前,这是行不通的。

0

这是行不通的?

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

运气不佳:(仍然给我同样的错误 –

+0

这是一个比回答更多的评论 – hakre

4

如果您知道的header.php是在同一个目录从文件要将其包括到:

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

这是免疫的工作目录的变化,因此很失败-安全。

您可能会发现还有以下是问答&一个有趣:

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

+0

这会带来两个错误消息:Warning:include(/home/gameshan/public_html/reviews/header.php):未能打开流:第5行中的/home/gameshan/public_html/reviews/index.php中没有这样的文件或目录 警告:include():未能打开包含(/home/gameshan/public_html/reviews/header.php) include_path ='。:/ usr/lib/php:/ usr/local/lib/php')在第5行的/home/gameshan/public_html/reviews/index.php –

+0

那么在哪个目录中是文件'header.php '并且在哪个文件中包含命令?在我的示例代码中,它们都在同一个目录中(如第一句中所写)。您需要将它用于您的情况,因此如果您告诉两个文件名,这应该很容易解决Info:你看到两个错误,但他们都属于t一起,所以这是一个问题。如果你修复它,那么这两个错误都会立即消失。 – hakre

相关问题