2012-01-21 66 views
0

我有一個PHP文件顯示信息網站的問題。我正在使用本地主機,我的.htaccess文件已正確配置爲顯示.php文件,因爲.php文件適用於html文件。PHP內部HTML問題

但是,當我試圖做一個開關變量取決於日期不同頁面之間切換...

<?php 
switch(date('l')) { 
    case 'Sunday': $page = 'sunday.html'; break; 
    case 'Monday': $page = 'monday.html'; break; 
    case 'Tuesday': $page = 'tuesday.html'; break; 
    case 'Wednesday': $page = 'wednesday.html'; break; 
    case 'Thursday': $page = 'thursday.html'; break; 
    case 'Friday': $page = 'friday.html'; break; 
    case 'Saturday': $page = 'saturday.html'; break; 
} 
echo file_get_contents($page); 
?> 

..then的PHP包括html的內部代碼是行不通的。與php回聲相同,它不會顯示。我可能會在哪裏出錯?我的index.html(其中onair.php工作並顯示在index.html上)鏈接到/programmes/schedule.html,然後鏈接到給定日期的相應頁面。在那裏,與index.html中相同的PHP代碼不會顯示......它只是在Google Chrome中進行了評論。

任何幫助,將不勝感激。乾杯。

+0

什麼是'日期(」 L')'?嘗試回聲只是嘗試價值。 –

+0

複雜多少? '包括strtolower(日期('l'))。 '.html';' – deceze

回答

2

您需要改爲includefile_get_contentsecho都不會執行PHP腳本。

<?php 
switch(date('l')) { 
    case 'Sunday': $page = 'sunday.html'; break; 
    case 'Monday': $page = 'monday.html'; break; 
    case 'Tuesday': $page = 'tuesday.html'; break; 
    case 'Wednesday': $page = 'wednesday.html'; break; 
    case 'Thursday': $page = 'thursday.html'; break; 
    case 'Friday': $page = 'friday.html'; break; 
    case 'Saturday': $page = 'saturday.html'; break; 
} 

include $page; 
?> 

當然,你可以把它簡單,太:

<?php 
include strtolower(date('l')) . '.html'; 
?> 
+0

他的問題是什麼?我可以說。 –

+0

@AshBurlaczenko:我花了一個受過教育的猜測:) *「那麼PHP包括代碼裏面的html的是行不通的。‘*和*’這簡直是評論谷歌瀏覽器。」 * – Ryan

+0

工程就像一個魅力,謝謝,我只是在學習PHP。 – HighFlyerPL185

0

的路徑可能不會使用這樣的代碼相同,檢查:

readfile(realpath(dirname(__FILE__).DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$page); 

或包括如果你想要被解釋。

1

PHP不能HTML文件中,除非您使用eval()執行。您可以通過添加重命名文件轉換爲.php而不是html的(在我看來更好的選擇),或者設置HTML來運行作爲PHP文件中的下列您.htaccess

AddType application/x-httpd-php .html 
AddType application/x-httpd-php .htm 
+0

錯誤,不幸的是。 – Ryan