Heim php教程 php手册 Cannot modify header information

Cannot modify header information

Jun 13, 2016 am 10:58 AM
header headers modify aus

总结,终极处理办法:修改php.ini文件  ; 把output_buffering默认为off的,改成4096  即可。

ob_start();
setcookie("username","宋岩宾",time()+3600);
echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n";
echo "the username is:".$_COOKIE["username"]."\n";
print_r($_COOKIE);
?>
Warning: Cannot modify header information - headers already sent by出错的原因
我在php程序的头部加了,
header("cache-control:no-cache,must-revalidate");
之后页面就出现上面的错误,看了N个资料也没有结果。今天偶尔发现原来是我的php.ini里面的配置出了问题,在C:\windows\下找到php.ini文件
output_buffering默认为off的。我现在把它设为4096就OK了。
用于解决显示提示错误,不能按(日期+导出文件数)为文件名的错误信息.
setcookie函数必須在任何資料輸出至浏览器前,就先送出
基於上面這些限制,所以執行setcookie()函數時,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決"Cannot modify header information - headers already sent by"這個錯誤的方法是在產生cookie前,先延緩資料輸出至瀏覽器,因此,您可以在程式的最前方加上ob_start();這個函數。
ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车\空格\换行\都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

1.用于header()之前

ob_start(); //打开缓冲区
echo \"Hellon\"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择.
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(\'info.txt\',\'w\'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt
?>

3.静态页面技术
ob_start();//打开缓冲区
?>
php页面的全部输出
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
?>

4.输出代码
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}else {
echo "错误!没有输出";
exit();
}
return $contents;
}


 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie übergibt SpringBoot Parameter im Header durch Feign-Aufrufe? Wie übergibt SpringBoot Parameter im Header durch Feign-Aufrufe? May 16, 2023 pm 08:38 PM

[SpringBoot] Übergeben von Parametern im Header durch Feign-Aufrufe So übergeben Sie Header-Parameter durch Feign Problembeschreibung Wenn wir Feign verwenden, um die API-Schnittstelle eines anderen Dienstes in Spring Cloud anzufordern, müssen die Parameter im Header übergeben werden. Wenn nein Wenn eine spezielle Verarbeitung durchgeführt wird, gehen die Parameter im Header verloren. Lösung 1: Übergeben Sie es über @RequestHeader(name="headerName"). Beispiel: Feign ist wie folgt definiert: @FeignClient(name="service-name")pub

Was bedeutet Linux-Header? Was bedeutet Linux-Header? Jul 18, 2023 pm 03:34 PM

Der Header von Linux bezieht sich auf den Anfang einer Datei oder eines Datenstroms, der Metadaten über den Inhalt enthält. Durch korrektes Schreiben und Verwenden der Header-Datei können Entwickler Systemressourcen besser nutzen und die Lesbarkeit und Lesbarkeit des Codes verbessern. Wartbarkeit.

Wann erscheint Ark of Destiny Dreams? Wann erscheint Ark of Destiny Dreams? Mar 14, 2024 pm 03:00 PM

Viele Spieler möchten wissen, wann „Ark of Destiny Sleepy Dream“ am 13. März erscheint. Außerdem wird es den neuen Profikämpfer Jia Nan, den neuen Kontinent Rowan, den neuen BOSS und andere Inhalte geben Details Werfen wir einen Blick auf den Inhalt dieser Einführung zum Startzeitpunkt von Ark of Destiny Sleepy Dreams. Ark of Destiny-Leitfaden: Wann wird Ark of Destiny Dreams veröffentlicht? Antwort: Für die Gegenstandsstufe 1 bis 3 muss die Gegenstandsstufe 1540 erreicht werden. Für die Stufe 4 muss die Gegenstandsstufe 1560 erreicht werden. Abgelegte Gegenstände Gedanken, Traumzeichen, Verzweiflung. Brandneuer professioneller männlicher Kämpfer 1. Eigenschaften: Shura-Energie, sammle Shura-Energie, um in den [Kingdom Boxing State] einzutreten. 2. Professionelle Eigenschaften: Nahkampfberuf. 3. Professionelle Waffe: schwere Armrüstung. New Continent Rowan 1. So öffnen Sie es

So verwenden Sie die PHP-Header()-Methode zum Anpassen von Webseiten So verwenden Sie die PHP-Header()-Methode zum Anpassen von Webseiten Mar 28, 2023 pm 01:54 PM

PHP ist eine leistungsstarke Programmiersprache, mit der dynamische Websites und Webanwendungen erstellt werden können. Eine der leistungsstärksten Funktionen ist die header()-Methode von PHP. In diesem Artikel erfahren Sie, wie Sie die header()-Methode von PHP zum Anpassen von Webseiten verwenden.

So springen Sie in den PHP-Header So springen Sie in den PHP-Header Dec 02, 2022 am 09:14 AM

So implementieren Sie einen Sprung im PHP-Header: 1. Verwenden Sie die Syntax „Header(“Location:$url“);“ "]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');".

Was ist der Unterschied zwischen HTML5-Tag-Head und Header? Was ist der Unterschied zwischen HTML5-Tag-Head und Header? Jan 17, 2022 am 11:10 AM

Unterschiede: 1. Das Head-Tag wird verwendet, um den Kopf des Dokuments zu definieren, der ein Container für alle Head-Elemente ist, und das Header-Tag wird verwendet, um den Header (Einleitungsinformationen) des Dokuments zu definieren. 2. Alle Browser unterstützen das Head-Tag und ältere Versionen von Browsern Keiner der Browser unterstützt das Header-Tag und Browser wie IE9+ und höher müssen das Header-Tag unterstützen.

Wie füge ich Tabellenzeilen in jQuery hinzu, bearbeite und lösche sie? Wie füge ich Tabellenzeilen in jQuery hinzu, bearbeite und lösche sie? Sep 05, 2023 pm 09:49 PM

Im heutigen Zeitalter der Webentwicklung ist eine effektive und effiziente Tabellenverwaltung sehr wichtig geworden, insbesondere beim Umgang mit datenintensiven Webanwendungen. Die Möglichkeit, Zeilen dynamisch einer Tabelle hinzuzufügen, zu bearbeiten und zu löschen, kann das Benutzererlebnis erheblich verbessern und Anwendungen interaktiver machen. Eine effektive Möglichkeit, dies zu erreichen, besteht darin, die Leistungsfähigkeit von jQuery zu nutzen. jQuery bietet viele Funktionen, die Entwicklern bei der Durchführung von Vorgängen helfen. Tabellenzeilen Eine Tabellenzeile ist eine Sammlung miteinander verbundener Daten, die durch Elemente in HTML dargestellt werden. Es wird verwendet, um Zellen (dargestellt durch Elemente) in einer Tabelle zu gruppieren. Jedes Element wird zum Definieren einer Zeile in der Tabelle verwendet und enthält bei Tabellen mit mehreren Attributen normalerweise ein oder mehrere Elemente. Syntax$(selector).append(co

Wie Nginx über die Kennung im Header verteilt Wie Nginx über die Kennung im Header verteilt May 11, 2023 pm 04:01 PM

Nginx kann Anfragen basierend auf benutzerdefinierten Kennungen in den Anfrageheadern an verschiedene Server verteilen. Konkret können Sie die Map-Direktive verwenden, um den benutzerdefinierten Bezeichner im Anforderungsheader einer anderen Back-End-Serveradresse zuzuordnen, und dann die Proxy_pass-Direktive verwenden, um die Anforderung an den entsprechenden Back-End-Server weiterzuleiten. Das Folgende ist eine Beispielkonfigurationsdatei: http{map$http_my_header$backend{defaultbackend1.example.com;value1backend2.example.com;value2backend3.example.com;}upstreambackend1{serv

See all articles