2014-09-02 67 views
0

我學習PHPPHP的包括不執行

和我做了主index.php頁面 並在某些時候它包含的行

<?php 
include './BaseTemplate.php'; 
?> 

BaseTemplate.php含有大量的公用簡單的所有頁面之間相等的html。 它看起來像(但這些都是隻有幾行):

echo '<script src = "../assets/js/intention.js"></script>'; 
echo '<script src = "../assets/js/context.js"></script>'; 
echo '<head><body>'; 
echo '<table>'; 

但這些迴應命令不得到執行我應該怎麼解決呢?

+0

也許在你的腳本中有錯誤Php日誌可能有助於解決「奇怪的」錯誤/錯誤 – Nicolai 2014-09-02 12:32:13

+0

Co您是否向我們展示了您的文件夾層次 – Alex 2014-09-02 12:33:14

+0

您在BaseTemplate.php文件中的代碼周圍有''標籤嗎?包含的文件需要那些文件。 – Nerixel 2014-09-02 12:42:30

回答

0

當您在頁面中包含任何文件時,該文件的代碼將進入頁面。 因此,如果包含的文件和包含它的頁面不在相同的路徑中將會產生問題。

看來你只有這樣。所以請根據index.php製作BaseTemplate.php中的路徑,它將起作用。

0

我解決了它 我在想包括將所有代碼放在一個外部php源文件的頁面中。 那不是這種情況,包含文件是具有可以調用的函數的庫。

所以解決它,我重寫了它的BaseTemplate.php這樣

<?php 
Function WritePageBase() {  // now i put it all inside a callable function 

    echo '<script src = "../assets/js/intention.js"></script>'; 
    echo '<script src = "../assets/js/context.js"></script>'; 
    echo '<head><body>'; 
    echo '<table>'; 
    } 
?> 

現在我的其他頁面可以這樣調用它

<?php 
    include './BaseTemplate.php'; // include the file with functions 
    WritePageBase();    // call the function to echo all html code in page 
    ?> 

從而減少了大量的HTML代碼,現在可以由一個文件編輯(所有其他使用它的頁面也會改變)