如何在 PHP 中清除以前回显的项

2022-08-30 09:34:54

在php中,有没有办法清除/删除所有以前回显或打印的项目?

例如:

<?php

echo 'a';
print 'b';

// some statement that removes all printed/echoed items

echo 'c';

// the final output should be equal to 'c', not 'abc'

?>

我的脚本使用包含函数。包含的文件不应该回显任何内容。以防有人(例如=黑客)尝试,我需要一种方法来删除。


答案 1
<?php

ob_start();
echo 'a';
print 'b';

// some statement that removes all printed/echoed items
ob_end_clean();

echo 'c';

// the final output is equal to 'c', not 'abc'

?>

输出缓冲功能

输出缓冲函数在黑客攻击中也很有用,可以强制仅打印以返回字符串的函数,即。

<?php
ob_start();
var_dump($myVar);
$data = ob_get_clean();
// do whatever with $data
?>

答案 2

虽然@monoxide是正确的,但最好找到更直观的方法来做同样的事情。例如:

<?php
$val_to_print = $a;
if( $need_to_change==true ) 
    $val_to_print = $b;
// when you are sure you won't have to change again...
echo $val_to_print;
?>

干杯

断续器


推荐