2011-07-21 99 views
7

我有一個.php文件,下面的代碼。雖然我正在將文件的擴展名更改爲.html,但它的行爲方式也是相同的。誰能解釋如下:php和html文件擴展名的區別是什麼?

  1. 爲什麼該文件既與 擴展相同的方式表現?
  2. .php.html文件擴展名的區別?

.php文件

<html> 

    <head> 
      <!-- some html code --> 
    </head> 

    <body> 
      <?php echo "Hello!" ?> 
    </body> 

</html> 
+1

你是什麼意思「開放?」就像在文本編輯器中打開它,或者讓它通過網絡服務器(如Apache)一樣? – R0MANARMY

+0

它真的以相同的方式表現嗎?你看到「你好!」當查看文件爲.html? –

+0

@邁克爾 - 是的! –

回答

8

文件類型只是一種方法來識別文件,你不能總是相信他們。

根據您的Web服務器配置,您將看到不同的結果。

.html通常只用於沒有服務器端代碼的html。

.php用於服務器端php代碼和html,如果需要的話。

他們可以用於任何事情,它只是取決於設置。

0

php是一種服務器端腳本語言。每個有標籤php

將由服務器生成並放入html響應中。

+0

這是配置相關的,Apache配置允許將HTML文件解析爲php,如果禁用它,則不會被解析。 –

2

您可以配置您的Web服務器以不同方式處理.php和.html文件。您的網絡服務器被配置爲解釋爲PHP。大多數服務器將.php作爲PHP處理,並按原樣提供.html。也就是說,如果您將代碼放入HTML文件中,PHP代碼將不會運行,並會顯示在輸出中。

有些人覺得在URL中使用.html代替.php更好。如果您的用戶下載您的頁面並嘗試通過雙擊它們來打開它們,這可能會很有用。

0

據我所知,根據擴展名,Web服務器將以某種方式處理您的文件。另外,例如,您可以擁有一個不生成任何HTML輸出的PHP文件,但它會重定向到另一個文件。

如果你想給一個* .html結束頁面,你可以通過編程來完成。

0

你可以設置任何擴展名解析爲PHP,所以你的情況不同只是擴展名。如果您禁用Apache配置中的html文件,將其解析爲php,而文件的內容將不會被PHP解析。這是所有

例如,你可以在你的Apache配置中添加任何擴展到由PHP解析,這樣

application/x-httpd-php myextension 

其中myextension是要分析該文件的擴展名。

1

php表示它是使用PHP語言動態生成的。但是,您不需要請參閱頁面,因爲它最初是寫入的,而是最終的結果。最終結果實際上是一個html文件。

所以要回答你的問題,對於客戶端來說,以php或html結尾的頁面將支持完全相同的內容(也就是說,一個html文檔)。儘管瀏覽器不應該這樣做,但他們經常會嘗試顯示對他們沒有意義的標籤(例如,瀏覽器可能會判定「Hello」是要顯示的文本)。

雖然html真的不應該有它的PHP標籤,因爲它並不意味着在一個HTML文檔(PHP文件被轉換成HTML文件,從而刪除PHP標籤)。

1

不同之處在於您的Web服務器是如何配置的,或者當您試圖在本地運行文件時(例如 - 在您當前使用的計算機上使用它們),您是否需要Web服務器。例如,如果您要在沒有安裝Web服務器的計算機上運行這兩個版本,則.html文件將在瀏覽器中打開,但不會對任何PHP標記執行任何操作。但是,.php文件不一定會運行,瀏覽器甚至可能會嘗試「下載」該文件。

文件擴展名是告訴計算機如何處理給定的擴展名。就像您的計算機將在文字處理器中打開.doc文件,或在基本文本編輯器中打開.txt文件。就像您可以告訴您的計算機在您的文字處理器中打開.txt文件一樣,您可以讓Web服務器以與.php文件相同的方式處理.html文件(這是您明確設置的文件)。

0

PHP:預超Processot:服務器端腳本語言 HTML:超文本標記語言

「.PHP」和「.HTML」只是文件擴展名但是如果你想使用的PHP代碼,您必須運行它支持php的服務器。

1

擴展是您的操作系統如何識別您的文件並決定如何處理它,即應打開哪個應用程序。

php是一種服務器端腳本語言。它由安裝了php的Web服務器解釋。例如,在XAMPP中,XAMPP/php文件夾中的php.exe文件解釋了php文件/命令。

HTML是通過互聯網發送信息的標準。因此,儘管使用了任何服務器端腳本語言,但文件的最終結果仍然是一個html頁面。您正在使用的Web服務器將處理php命令並將它們轉換爲相應的html並將它們發送到您的瀏覽器。瀏覽器然後處理(編譯)html代碼以顯示您的網頁。

HTML本質上就是您在瀏覽器上看到的所有內容。 PHP用於與Web服務器交互並處理由用戶通過表單輸入到Web瀏覽器中的信息,或者在鏈接下執行底層的第三方腳本(如TCL腳本)以在後臺隱藏的背景中執行自動化功能用戶在Web站點上使用或解析XML文件或從數據庫中提取信息或維護會話信息等等。

一般而言,PHP處理Web應用程序與配置爲運行PHP的服務器的交互。 HTML只是在瀏覽器中轉儲結果。

你可以這樣想--HTML只是你的網站的樣子...... PHP是什麼讓你的網站變得聰明,以便它可以與用戶交互...

你得到相同的結果,因爲PHP可以嵌入在HTML和你的網絡服務器處理這兩個文件給你相同的結果。但是,如果你沒有在你的web服務器上安裝php,你會在瀏覽器中得到輸出。

0

PhP是服務器端。

HTML是客戶端。

另外,在web上,filetypes沒有任何意義。它們被!DOCTYPE聲明覆蓋。

相關問題