2015-05-17 42 views
-3

在我的web應用程序中,每頁導航中有4頁(About.html,Register.html,Quiz.html,Topic.html),頁眉和頁腳部分相同。現在,我希望把所有這些部分爲單一的PHP包括()函數(而不是多個PHP文件)PHP include()函數

+3

你的問題是什麼?你究竟在哪裏遇到問題? – Ulver

+0

爲什麼人們低估這個?這對初學者來說是合法的基本問題。如果你倒退了,也許你可以留下一些關於去哪裏去了解更多信息的評論。 – aequalsb

回答

1

然後你可以創建一個也許叫template.php文件,其中包含:

function printHeader($arg=null) { 
    echo "<div class='header'>Here is your header contents!</div>"; 
} 
function printFooter($arg=null) { 
    echo "<div class='footer'>Here is your footer contents!</div>"; 
} 

,只是適當地給他們打電話每個頁面具有相同的模板,例如在「關於」頁面:

include_once "template.php"; 
// ... 
printHeader(); 
// ... 
printFooter(); 
// ... 
+0

好吧,他正在使用HTML文件,所以他需要一個「集線器文件」來包含HTML文件到 – aequalsb

1

讓我們考慮一個index.php文件

在文件:

<html> 
<head> 
<title><?php echo !empty($_GET['page']) ? $_GET['page'] : 'Home'; ?></title> 
<!-- head info --> 
</head> 
<body> 

<ul id="menu"> 
<?php foreach(array('About', 'Register', 'Quiz', 'Topic') as $page) : ?> 
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo $page; ?>"><?php echo $page; ?></a></li> 
<?php endforeach; ?> 
</ul> 

<div id="content"> 
<?php if (!empty($_GET['page'])) : ?> 
<h2><?php echo $_GET['page']; ?></h2> 
<?php 
    $content = file_get_contents(dirname(__FILE__) . '/' . $_GET['page'] . '.html'); 
    echo reset(explode('</body>', end(explode('<body>', $content)))); 
else : ?> 
*** home page (default) content goes here (or include it from a separate file too) *** 
<?php endif; ?> 
</div> 

<div id="footer"> 
<hr /> 
This is the footer 
</div> 

</body> 
</html> 

你必須明白,給你的問題的範圍很廣,並且您正在使用HTML文件的事實,這種解決方案是非常基本的。但它會回答你的問題和/或植入種子從這裏學習。

例如,使用is_file()來檢查頁面是否實際存在。

1

1)About.html,Register.html,Quiz.html,Topic.html將它們重命名爲.php。

2)添加在Topic.php(和其他文件 'sections.php'

function addHeader(){ 
    echo "THIS IS HEADER!!!"; 
} 
function addFooter(){ 
    echo "THIS IS FOOTER!!!"; 
} 
function addSparta(){ 
    echo "THIS IS SPARTA!!!"; 
} 

3))添加

include_once 'sections.php'; 

4)使用這些功能,打印出你所需要的。

但它仍然不是很好的方式來撰寫你的網頁。