激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP輸出緩沖與header發(fā)送問題詳解

PHP輸出緩沖與header發(fā)送問題詳解

2021-11-12 16:47Lenix Blog PHP教程

這篇文章主要給大家介紹了關于PHP輸出緩沖與header發(fā)送問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

如果你在header或cookie函數前發(fā)送大量字符到瀏覽器,就會報headers already sent  錯誤,以下為說明:

headers_sent()

此函數告訴我們發(fā)送header的狀態(tài)。如果將輸出發(fā)送到瀏覽器,則不應使用重定向等header函數。為避免此類錯誤,我們可以使用headers_sent()函數檢查header發(fā)送狀態(tài)。它根據標頭的狀態(tài)返回TRUE或FALSE。當我們執(zhí)行一個php腳本時,將輸出存儲到緩沖區(qū)中,然后再將其發(fā)送到瀏覽器。但是,這還取決于您的服務器php.ini設置,其中必須打開或關閉輸出緩沖區(qū)。

?
1
output_buffering = Off

現在,由于關閉了輸出緩沖,因此所有輸出都將發(fā)送到瀏覽器。讓我們通過一個例子來學習。

?
1
2
3
4
5
6
7
8
9
<?Php
echo 'Hello p2hp.com';
echo "<br><br>";
if (!headers_sent()) {
echo " 沒有header發(fā)送,你可以進行發(fā)送header或cookie ";
}else{
echo " Header已經發(fā)送,你不能再發(fā)送header或cookie了 ";
}
?>

以上代碼的輸出將取決于你的php.ini設置。對于我們來說,我們的php.ini默認是:

output_buffering     4096     4096

在上面的第一行代碼中,我們將輸出發(fā)送到瀏覽器,但是仍然得到header_sent()沒有發(fā)送header,因為緩沖區(qū)尚未將輸出發(fā)送到瀏覽器。所以我們將得到這樣的輸出

沒有header發(fā)送,你可以進行發(fā)送header或cookie

因此,要將輸出發(fā)送到瀏覽器,我們必須耗盡輸出緩沖區(qū)的容量。這里是4096。因此,我們將嘗試向瀏覽器發(fā)送更多輸出以超出限制,然后檢查if條件以了解header發(fā)送狀態(tài)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
for ($i=1; $i<=372; $i++) {
    echo "p2hp.com - ";
}
echo "<br><br>";
if (!headers_sent()) {
    // 沒有header發(fā)送,你可以進行發(fā)送header或cookie //
    echo '沒有header發(fā)送,你可以進行發(fā)送header或cookie';
    // header("HTTP/1.1 301 Moved Permanently");
    // header ("Location: mynewpage1.html");
    exit;
} else {
    // Header已經發(fā)送,你不能再發(fā)送header或cookie了 //
    echo 'Header已經發(fā)送,你不能再發(fā)送header或cookie了';
    header("Location: mynewpage1.html");// Warning: Cannot modify header information - headers already sent by xxxxx
}

在上面的代碼中,您可以通過增加或減少$ i值來調整for循環(huán)。循環(huán)數越高,意味著將有更多的數據發(fā)布到緩沖區(qū)。嘗試通過增加$i的最大值來查看headers_sent()在哪里變?yōu)門RUE。

我們可以使用flush()強制將緩沖區(qū)輸出發(fā)送到瀏覽器。但是,這取決于服務器,并且可能會以不同的方式工作。

參考  https://www.plus2net.com/php_tutorial/headers_sent.php

總結

到此這篇關于PHP輸出緩沖與header發(fā)送問題的文章就介紹到這了,更多相關PHP輸出緩沖header發(fā)送內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.p2hp.com/archives/7971

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产精品jk白丝蜜臀av软件 | 亚洲日本欧美 | 爱操成人网 | 久久精品视频一区二区三区 | 91视频网国产| 成年人小视频在线观看 | 日本看片一区二区三区高清 | 本色视频aaaaaa一级网站 | 黄色免费电影网址 | 久久99精品久久 | 日韩欧美高清一区 | 免费男女乱淫真视频 | 久久3| 日本在线一区二区 | 久久国产成人精品国产成人亚洲 | 91免费影院 | 国产成人强伦免费视频网站 | 美女色影院 | 中国a毛片 | 91久久久久久久 | 久久成人在线观看 | 91精品国产777在线观看 | 激情综合网俺也去 | 欧美成人精品一区二区三区 | www.国产.com| 久久精品污 | 久久色伦理资源站 | 成人毛片100部 | 日韩精品中文字幕一区二区三区 | 激情福利视频 | 91精品国产综合久久婷婷香蕉 | 日韩色视频在线观看 | 97中文字幕第一一一页 | 成人免费观看在线 | 一级网站 | av成人一区二区 | 亚洲第一视频在线 | 欧美精品一区二区三区四区 | 日本精品网 | 久久久久久久久久久亚洲 | 久久精品免费国产 |