如何防止包含文件在PHP中生成输出?

时间:2013-07-31 12:01:57

标签: php include output

我有一个软件可以使用多个数据记录的模式生成输出。此文件是在特定时间间隔内生成的,由于软件已关闭,我无法更改它。

My Pattern类似于(没有尾随的CR或LF):

<? $elem[]='%putValueOfRecordHere%' ?>

输出将是:

<? $elem[]='1' ?>    
<? $elem[]='2' ?>    
<? $elem[]='3' ?>

事实上,该软件为每条记录添加了一个CRLF,包括使用该文件会为我的实际输出添加大量CRLF。

我只想知道,当包含PHP文件时,是否有内置方法,删除这些空白行。否则我将不得不解析这个文件,删除所有CRLF,保存它而不使用CRLF并在之后包含修改后的文件,这是非常费力的。

2 个答案:

答案 0 :(得分:9)

使用输出缓冲,如果包含的脚本实际上没有生成内容(如没有回声等),请使用下面的

ob_start();
include("myscript.php");
ob_end_clean();

如果确实生成了所需内容,则生成的内容将位于$content

ob_start();
include("myscript.php");
$content = ob_get_contents();
ob_end_clean();

答案 1 :(得分:1)

您可以使用ob_buffers来获取文件的输出并将输出发送到遗忘:

<?php
    ob_start();
    include('file');
    ob_end_clean();
?>