2013-08-27 105 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

相關問題