這是我在做專題的時候遇到的問題
我曾經做過一件事在html檔案中加入php的語法(用括起來)
然後就出現了問題
但是在php副檔名中用html語法就不會出現問題
在想說是不是html沒有支援php的語法
於是我就上網找了一下有關html跟php支援性的文章
找到知識+

知識+
1.在副檔htm下,PHP有沒有辦法讓他正常執行

1、基本上,網頁伺服器的運作,是依照副檔名不同,轉交給不同的編譯器來解釋,最後轉出html的,交給瀏覽器去呈現。

例如: .asp 會將<% response.write "

hello

"
%>中的程式,交給isapi.dll編譯成,像

hello

這樣的給瀏覽器呈現。

同理,.php的檔案,會將hello ?>
交給php的編譯器處理,轉成html的格式,再交給瀏覽器呈現.


2、副檔名為.htm/html是給html的直譯器來處理,它只會把你寫入的標籤,直接翻譯出來到瀏覽器上,但是,你一旦加入了其它程式碼,則因為html的直譯器無法翻譯,所以該段程式會無法使用。

3、當你把副檔名改為.php的時候,你原本寫好的,php編譯器不會處理,會照原來的資料,直接交給瀏覽器呈現,所以不會有問題。

4、最後,整理一下,你只要記得,瀏覽器只認識的語法,不管今天是用.asp/.php/.jsp
,裡面只要有語法的部份,原則上編譯器不會處理,只會照原樣,交給瀏覽器。
如果有<% … %>,..等夾住的部份,那該編譯器就會將這裡的程式,編譯成的語法,再交給瀏覽器。
所以,你要告訴伺服器,現在要用什麼編譯器處理,這時候,就會依照副檔名來對應。
如果,你的檔案只有的語法,基本上,不管你存成.php/.asp/.jsp,只要你的伺服器有支援,都是可以運作的。
但是,你把有<%…%>的程式部份,用.html的副檔名,對不起,html直譯器會無法翻譯,所以就會有問題啦。


html是直接將原始碼送給客戶端,由客戶端的瀏覽器執行,當網頁副檔名是php,在web server讀到的php標
記時會呼叫php應用程式執行這些程式碼,執行結果再由web server以html送到客戶端給瀏覽器執行.

看完之後做個總整理
副檔名為什麼就用什麼直譯器編譯成htm的語法
客戶端的瀏覽器都只認得html的語法
如果副檔名是html
server就會用html的直議器轉成html傳給客戶端瀏覽器呈現結果
如果副檔名是php
server就會用php的直議器轉成html傳給客戶端瀏覽器呈現結果

所以在附檔名php中用html語法
server就會用php的直議器轉成html傳給客戶端瀏覽器呈現結果
而html語法本來就是客戶端瀏覽器可以呈現的
所以不會出現問題

所以在附檔名html中用php語法
server就會用html的直議器轉php的語法

當然要把php用html的直議器會出現問題ㄚ


創作者介紹

做自己 好自在

a22710518 發表在 痞客邦 PIXNET 留言(0) 人氣()