-1

似乎die()并且exit()只能阻止运行以下 php 而不是 html。

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

4

3 回答 3

2

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

<?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>
于 2013-10-05T13:52:54.423 回答
0
<?php
if(false){
   die();
}else{ php?>
  <body>

  </body>
<?php }?>

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

于 2013-10-05T13:51:53.263 回答
0

您将需要使用PHP 的输出缓冲功能。

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

于 2013-10-05T13:57:58.760 回答