PHP在include一個檔案a.php的時候,如果a.php在PHP結束標記後面還有多餘字元(包括回車或空格),在include的時候會同時被輸出。
範例:
a.php
#<?php // anycode here ?> [回车] [回车]
b.php
<?php ob_start(); //include_once 'PHPSn.class.php'; include_once 'a.php'; $con = ob_get_contents(); ob_clean(); var_dump($con); ?>
輸出結果:
string(2) " "
也許在一般的開發中,你不會發現這會有什麼影響,但是當你的PHP程式是一個下載腳本,透過readfile讀取一個文件,這個時候透過php腳本下載回來的文件已經被改變了,用UE使用二進位編碼看,發現前面多了0D0A0D0A,就是因為這樣原因。
如果檔案內容是純 PHP 程式碼,最好在檔案最後刪除 PHP 結束標記。這可以避免在 PHP 結束標記之後萬一意外加入了空格或換行符,會導致 PHP 開始輸出這些空白,而腳本中此時並無輸出的意圖。
推薦教學:PHP影片教學
#以上是php檔案是否加結束符的詳細內容。更多資訊請關注PHP中文網其他相關文章!