Wie Kopfzeilen arbeiten mit output buffering in PHP?
Titel ist selbsterklärend.
Ich habe ein bisschen Erfahrung mit PHP, aber ich bin nicht sicher, wie die header
Funktion funktioniert zwischen ob_start()
und ob_end_clean()
.
Bedenken Sie:
ob_start();
echo "Some content";
header('X-Example-Header: foo');
echo "Some more content";
$output = ob_get_contents();
ob_end_clean();
echo $output;
Macht die header
Funktion ignorieren die Ausgabe-Pufferung, und damit alle Header gesendet werden, bevor der Inhalt, denn es ist echo
ed nach der header
nennen?
Oder es funktioniert auf eine andere Weise?
- (Referenz)
ob_start
— mit Dieser Funktion wird wiederum die Ausgabe-Pufferung auf. Während die Ausgabepufferung aktiv ist, wird keine Ausgabe an den Skript (außer Header), stattdessen wird die Ausgabe gespeichert in einem internen Puffer. - Oh, hey, ich Folge verpasst. Das sollte mich lehren, Lesen ein bisschen näher. Vielen Dank, Gordon.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
header()
tatsächlich ignorieren die Ausgabe-Pufferung. Ein Teil der Grund für die Verwendung von output buffering ist, so können Sie senden HTTP-Header "out of order", da die Antwort gepuffert ist. Sie können nicht senden HTTP-Header, sobald Sie gesendet haben, jede Art von Ausgabe (es sei denn, dass die Ausgabe gepuffert ist).