2010-01-24 149 views
2

我想用PHP和if語句,而我想做的事如何使用PHP來顯示一個HTML頁面或另一個頁面?

if ($variable){ 
display html page1 
} 
else { 
display html page2 
} 

我該怎麼辦呢?請注意,我不想將用戶重定向到其他頁面。

- EDIT-- 對於其中的一個而言,我不會遇到任何問題,但是如果使用其他文件,那麼這樣做太麻煩了。

- 編輯 - 這是迄今爲止編碼:

<?PHP 
include 'uc.php'; 
if ($UCdisplay) { 
    include("under_construction.php"); 
} 
else { 
    include("index.html"); 
} 
?> 

我的問題是,這將是非常複雜的,如果我是要爲每一個PHP頁面創建一個HTML頁面混亂,所以我需要一些方法來展現,而不是使用包括完整的HTML頁面(「的index.html」)

回答

7
if ($variable){ 
    include("file1.html"); 
} 
else { 
    include("file2.html"); 
} 
4

最簡單的方法就是讓你的HTML在兩個單獨的文件,並使用include()

if ($variable) { 
    include('page1.html'); 
} 
else { 
    include('page2.html'); 
} 
4

使用三元運算符:

include(($variable ? 'page1' : 'page2').'.html'); 
2

如果你想避免「爲每一個PHP頁面的HTML頁面」創造,那麼你可以做這樣的事情,與「真正的」直接裏面的內容PHP頁面。

<?PHP 
include 'uc.php'; 
if ($UCdisplay) { 
    include("under_construction.php"); 
    exit; 
} 
?> 
<html> 

<!-- Your real content goes here --> 

</html> 

的想法是這樣的:如果$UCdisplay爲真,則顯示你的在建網頁,並停止執行exit; - 沒有別的所示。否則,程序流程「落空」並輸出頁面的其餘部分。每個內容頁面都會有一個PHP文件。

您可以通過將代碼$UCdisplay直接移動到uc.php中來解決此問題;這會阻止你不必在每個文件的頂部寫同樣的if語句。訣竅是在包含構建頁面後獲得代碼exit

1

對於那些仍在尋找: 請參閱readfile();功能在PHP中。它在一個功能中讀取和打印文件。

定義

int readfile (string $filename [, bool $use_include_path = false [, resource $context ]]) 

讀取文件並將其寫入到輸出緩衝區。

相關問題