我們在實際的開發中,是否聽說過在header之前不能有任何的實際輸出。甚至有的認為header函式必須寫在**的最前面。可是你是否試驗過header函式之前輸出東西?下來讓我們更深層次的了解一下
<?php
echo
'hello world!';
header('content-type: text/html;charset=utf-8;');
我經過測試時可以成功的,不會出現任何錯誤和警告。不知道你們是怎麼樣的?可是我想大多說都是沒有問題,如果出現了cannot modify header information - headers already sent這樣的警告,這是是說不能修改頭部資訊,頭部資訊已經傳送。下來就了解一下為什麼會出現兩種不同結果?
函式解釋
ob_start
開啟輸出緩衝區
ob_clean
清空緩衝區
ob_get_contents
返回緩衝區內容
ob_get_clean
返回緩衝區內容,並清空
<?php
ob_start();
echo
'hello world!';
echo ob_get_contents();//輸出hello world!hello world!
一般在233行左右,預設是4096表示4096位元組也就是4kb下來將4096修改為5,重新執行這段**
<?php
echo
'hello world!';
header('content-type: text/html;charset=utf-8;');
對於剛才測試不會出現警告或錯誤的現在卻出現了,錯誤就是:cannot modify header information - headers already sent
在實際當中,我們最好還是把header寫在頁面最前面。因為我們就不確定我們header之前的輸出內容是否緩衝區能放下。
php緩衝區與header函式之間的秘密
我們在實際的開發中,是否聽說過在header之前不能有任何的實際輸出。甚至有的認為header函式必須寫在 的最前面。可是你是否試驗過header函式之前輸出東西?下來讓我們更深層次的了解一下 測試header之前有輸出 ob start echo hello world echo ob get c...
php緩衝區與header函式之間的秘密
我們在實際的開發中,是否聽說過在header之前不能有任何的實際輸出。甚至有的認為header函式必須寫在 的最前面。可是你是否試驗過header函式之前輸出東西?下來讓我們更深層次的了解一下 echo hello world header content type text html charse...
php 緩衝區,PHP的輸出緩衝區
1 什麼是緩衝區?緩衝區的作用是把輸入或者輸出的內容先放進記憶體,而不顯示或者讀取,最本質的作用就是協調高速cpu和相對緩慢的io裝置 磁碟等 的運作。2 php在執行的時候,在什麼地方有用到緩衝區?當執行php的時候,如果碰到了echo print r之類的會輸出資料的 php就會將要輸出的資料放...