Re: [閒聊] 純PHP開頭跟結尾的檔案沒有加?> 以及 < …

看板PHP作者 (低溫烘焙)時間17年前 (2008/09/13 12:32), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《qazsd (Be brave & outstanding)》之銘言: : test.php : <?php : echo 'hello'; : ----檔案完畢(最後面沒有加?>) : 一樣是可以執行,但是不清楚會不會有什麼影響或是潛在的bug 一般的framework都建議不要再最後面加上"?>",你可以從Zend framework的 說明文件附錄 B. Zend Framework 的 PHP 編碼標準,找到 -------------------------------------------------------------------- 對於只包含有 PHP 代碼的文件,結束標誌("?>")是不允許存在的,PHP自 身不需要("?>"), 這樣做, 可以防止它的末尾的被惡意的地插入相應程式。 重要:由 __HALT_COMPILER() 允許的任意的二進制代碼的內容被 Zend Framework 中的PHP 文件或由它們產生的文件禁止。 這個功能的使用只對一些安裝腳本開放。 --------------------------------------------------------------------- 以上是大陸用詞(我也很不習慣,反正就是不加?>是好滴) : 另外 <?= 這個用法有PHP或是其他東西版本的限制嗎 : 就是說安裝的是某幾版以上的PHP 才能執行 : 就像PHP 5以上就都得寫<?php 而不能寫 <? 一樣 首先我們先了解PHP的開始與結束標籤的寫法有哪幾種 ------------------------------------------------------------ 1. <?php //如果你使用到XML的話,那麼你就要用這種的寫法以避免發生錯誤 ?> 2. <script language='php'> echo '這個方法也是可行的一種,不過很冷門,不過要注意有一些 編輯器(像是frontpage)會不支援這種方法'; </script> 3. <? echo '這就是傳說中讓你出錯的短標籤 ?> <?= '直接給予等號這樣寫表示echo的意思'; ?> 4. <% echo '透過php.ini的設定,你可以使用ASP方式的標籤 %> <%= '這跟第3種是一樣的寫法,表示直接echo' %> -------------------------------------------------------------- 官方也建議,基於可移植性考量,還是使用第1種完整的長標籤編輯最好 -------------------------------------------------------------- 如果你覺得說明的不是很清楚,請直接參考此篇官方網頁 http://tw2.php.net/manual/en/language.basic-syntax.php -- 我的樂多網誌http://blog.roodo.com/liaosankai -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.37.127

09/13 17:13, , 1F
"可以防止它的末尾的被惡意的地插入相應程式"這句怪
09/13 17:13, 1F

09/13 17:14, , 2F
怪的,原文的意思我以為是防止末尾的空白被顯示出來
09/13 17:14, 2F

09/13 21:13, , 3F
原文應該是"意外"而不是"惡意" :P
09/13 21:13, 3F

09/14 12:18, , 4F
XD,多謝指正
09/14 12:18, 4F
文章代碼(AID): #18oq9exM (PHP)
文章代碼(AID): #18oq9exM (PHP)