输出后包含发生时,我可以在包含的脚本中调用setcookie吗?

时间:2015-02-17 00:29:32

标签: php cookies

我知道在将任何输出放到页面之前必须调用setcookie(),但我不知道涉及包含时会发生什么。假设我有两个名为A.php和B.php的文件,如下所示:

a.php只会:

<?php
setcookie("key", "value", time() + (60*60*24));
echo "Hello World";
?>

B.php

<html>
<body>
<?php include("A.php"); ?>
</body>
</html>

如果我在网络浏览器中打开B.php,那么在html和body打开标签之后是否会调用setcookie?

1 个答案:

答案 0 :(得分:2)

是。如果您在setcookie中加入A.phpB.php

避免输出任何内容的常用方法是启动输出缓冲区。在B.php put的顶部:

<?php ob_start();?>

然后在最后放:

<?php echo ob_get_clean(); // flush the buffer ?>