[討論] 使用ob_start的目的

看板PHP作者 (...)時間12年前 (2014/01/03 08:30), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
小弟對 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)

01/03 08:51, , 1F
某種程度算手動disable error_report?
01/03 08:51, 1F

01/03 09:55, , 2F
從來沒用過 只有上次寫long polling的時候碰到ob_系列
01/03 09:55, 2F

01/03 15:23, , 3F
又者你這跟直接寫$content=file_get_contents(
01/03 15:23, 3F

01/03 15:23, , 4F
'registration_email.php'); 有何差別?
01/03 15:23, 4F
剛剛試了一下,有差喔。 通知信的內容有用到變數。 如果用 file_get_contents,變數的內容出不來。

01/03 16:42, , 5F
再replace一下不就好了 何必這麼偷懶
01/03 16:42, 5F

01/03 16:43, , 6F
這種事現在我們改用CI的load view解決
01/03 16:43, 6F
※ 編輯: anawak 來自: 61.231.92.60 (01/05 22:11)
文章代碼(AID): #1InWItxU (PHP)
文章代碼(AID): #1InWItxU (PHP)