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中文网其他相关文章!