使用 PHP die / exit 来阻止 HTML 执行



它似乎die()exit()运行以下php而不是HTML的唯一块。

如何使用 php if else 语句来显示 html?我不喜欢 echo,因为我想阻止用户查看我的整个代码(从 <body> 到 </body>

文件由 php 执行时die()exit()停止所有脚本,甚至是 html 输出:

<?php
header('Content-Type: text/plain; charset=utf-8');
?>
<html>
<?php exit(); ?>
</html>

输出:

<html>

另一种选择是使用 return 停止通用脚本:

<?php
header('Content-Type: text/plain; charset=utf-8');
?>
<html>
<?php return; ?>
</html>

但它只会停止当前脚本。


是的,您可以使用条件语句来控制输出,如下所示:

<?php
header('Content-Type: text/plain; charset=utf-8');
$showbody = false;
?>
<html>
<?php if($showbody): ?>
    <body>
        Here is the body!
    </body>
<?php endif; ?>
</html>

输出:

<html>

</html>
<?php
if(false){
   die();
}else{ php?>
  <body>
  </body>
<?php }?>

这很丑陋,但我认为这就是你要找的

您将需要使用 PHP 的输出缓冲函数。

基本上,如果您没有启用输出缓冲,只要包含回显,打印或html,它就会立即开始发送到客户端。启用输出缓冲后,所有内容都将被存储,您可以控制何时甚至是否发送。

最新更新