2012-07-03 203 views
68

我無法在我的HTML頁面中使用PHP。例如,index.html。我已經使用這兩種嘗試:如何將PHP代碼/文件添加到HTML(.html)文件?

<? contents ?> 

<?php contents ?> 

無論這些工作。我的服務器提供PHP,當我使用.php擴展時,它可以正常工作。這是一個問題還是我必須改變php.ini的偏好?

+2

你將不得不改變你的服務器(我假設apache)爲PHP提供html文件,但爲什麼你想擴展爲html而不是php? –

+0

http://php.about.com/od/advancedphp/p/html_php.htm – undone

+0

@ExplosionPills我已經使用IIS v7完成了它!這是可能的! – undone

回答

116

您不能在.html文件中運行PHP,因爲除非您告訴它,否則服務器不會將其識別爲有效的PHP擴展。要做到這一點,你需要創建你的根Web目錄.htaccess文件,這行添加到它:

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

這將告訴Apache處理與一個.htm或.html文件擴展名的PHP文件的文件。

+13

雖然這是*正確*我認爲更重要的問題是*爲什麼*做到這一點?而且,如果這是一個選項,他應該更新服務器配置,而不是使用'.htaccess'。 –

+8

我已經在很多場合做過這個事情,以隱藏我使用PHP(除了其他東西) – nickb

+0

感謝您的偉大的信息。它真的可以一次運作。 – Hoon

11

爲了在.html文件中使用php,您必須將它們與您的HTTP服務器的配置文件中的PHP處理器相關聯。在Apache中,看起來像這樣:

AddHandler application/x-httpd-php .html 
4

默認情況下,您不能在HTML頁面中使用PHP。

爲了做到這一點,有以下修改.htacccess文件:

AddType application/x-httpd-php .html 
6

對於具有.html文件解析,以及,你需要設置相應的處理程序在你的服務器配置。

對於Apache httpd的2.X這是以下行

AddHandler application/x-httpd-php .html 

PHP docu的信息,您的特定服務器的安裝。

17

我認爲將PHP寫入.html文件是令人困惑和反自然的。爲什麼要這麼做??

無論如何,如果你想要的是在地址欄中執行PHP文件,並顯示它們作爲html的,一個最簡單的解決辦法是使用.PHP正常,並在你的.htaccess這樣寫的規則:

RewriteRule ^([^.]+)\.html$ $1.php [L] 
+0

如果我使用PHP + HTML怎麼辦?我應該使用哪種格式?我很困惑。我的頁面基於PHP的代碼非常短,HTML中有很多代碼。所以我要做的是製作一個HTML文件。這是一個壞習慣嗎? – Hoon

+3

格式應該是.php,因爲.html文件只包含HTML代碼。 –

9

您可以修改的.htaccess像其他人說,但最快的解決方法是重命名文件擴展.PHP

7

此行

AddHandler application/x-httpd-php .html 

加入httpd.conf文件爲您想要做什麼。 但請記住,如果你這樣做,那麼你的web服務器將會非常慢,因爲它將解析甚至靜態代碼,它們將不包含php代碼。 所以更好的方法是將文件擴展名.phtml而不是僅僅.html

+3

請記住不要用粗體寫出你的整個答案。 –

-1

對於結合HTML和PHP,您可以使用.phtml文件。

1

如果你只有一個html文件的php代碼,但有多個其他文件只包含html代碼,你可以添加以下內容到你的.htaccess文件中,以便它只將這個文件作爲php。

<Files yourpage.html> 
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher 
</Files> 

這將使得PHP可執行文件僅在「yourpage.html」文件,而不是在所有的html頁面,這將防止您的整個服務器上放緩。

至於爲什麼有人可能想通過html文件服務php,我使用谷歌電子表格中的IMPORTHTML函數從外部URL中導入JSON數據,該數據必須使用php解析以清理並構建html表格。到目前爲止,我還沒有找到任何方式將.php文件導入到Google電子表格中,因此它必須保存爲.html文件才能使用。能夠通過.html文件爲php提供服務對於該特定用途是必需的。

相關問題