作者anawak (...)
看板PHP
标题[讨论] 使用ob_start的目的
时间Fri Jan 3 08:30:44 2014
小弟对 ob_start() 略懂,会使用在会员注册的流程。
像这样:
<?php
$username = 'John';
ob_start();
include('registration_email.php');
$content = ob_get_contents();
ob_end_clean();
require_once('../include/package/PHPMailer_5.2.1/class.phpmailer.php');
$mailer = new PHPMailer();
$mailer->MsgHTML("$content");
$mailer->Send()
?>
会员注册好之後,系统会发通知信到他的信箱。
通知信的内容是 registration_email.php,
<html>
<body>
亲爱的 <?php echo $username; ?>, 感谢您的注册...」
</body>
</html
这样程式就会把使用姓名带进去通知信,然後透过 phpmailer 寄信。
上面的例子只是想说明我真的对 ob_start() 略懂。
但是我看到有些经手的网页,在每一页开头都会加。
<?php
session_start();
ob_start();
...
?>
为什麽?
刚刚又看到一篇在讲登入登出的功能
http://yiyingloveart.blogspot.tw/2012/12/php.html
文章最後面,作者说的容易出错点:
「忘记加 ob_start()」
原来没有加 ob_start() 是个错误啊 ~~
让我想起来之前经手的一个网页真的是每页都加 ob_start。
可是我都没有加耶。
想请教一下,在一般页面开头,是否加上 ob_start 的优缺点?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
1F:推 Jerr:某种程度算手动disable error_report? 01/03 08:51
2F:→ MOONRAKER:从来没用过 只有上次写long polling的时候碰到ob_系列 01/03 09:55
3F:→ MOONRAKER:又者你这跟直接写$content=file_get_contents( 01/03 15:23
4F:→ MOONRAKER:'registration_email.php'); 有何差别? 01/03 15:23
刚刚试了一下,有差喔。
通知信的内容有用到变数。
如果用 file_get_contents,变数的内容出不来。
5F:→ MOONRAKER:再replace一下不就好了 何必这麽偷懒 01/03 16:42
6F:→ MOONRAKER:这种事现在我们改用CI的load view解决 01/03 16:43
※ 编辑: anawak 来自: 61.231.92.60 (01/05 22:11)