Interview Frage: Können wir ein Echo vor dem Header haben?

8

Ich bin für den Php-Test erschienen, ihr wurde eine Frage gestellt, für die ich keine Antwort finden konnte.

Die Frage ist so.

%Vor%

Interviewer möchten, dass sowohl header als auch echo auf derselben Seite geschrieben werden.

Ich frage mich, wie es möglich ist. Es sollte ein Fehler wie

geben

Header bereits gesendet von (Ausgabe gestartet um .....

Ist es wirklich möglich, Echo und Header auf dieselbe Seite zu schreiben !!!

    
Wazzzy 22.09.2010, 04:36
quelle

2 Antworten

29

Sie können die Ausgabepufferung als

verwenden %Vor%

Das Problem ist, dass wir den Header nicht senden können, nachdem wir mit dem Senden der Ausgabe begonnen haben. Um dies zu lösen, puffern wir die Ausgabe. Die Funktion ob_start aktiviert die Ausgabepufferung. Während die Ausgabepufferung aktiv ist, wird keine Ausgabe vom Skript (außer den Headern) gesendet, stattdessen wird die Ausgabe in einem internen Puffer gespeichert. Also wird die echo -Ausgabe gepuffert. Als nächstes senden wir die Kopfzeile ohne Probleme, da wir noch keine Ausgabe ausgegeben haben. Schließlich rufen wir ob_end_flush auf, um den Inhalt des internen Puffers zu löschen und die Pufferung der Ausgabe zu stoppen.

    
codaddict 22.09.2010, 04:39
quelle
3

Sie können es tun, solange alle Header-Aufrufe kommen, bevor eine Nicht-Header-Ausgabe gesendet wird (dies beinhaltet lästige Dinge wie Newlines / Whitespace). Also

%Vor%

sollte den Trick machen

    
gmarcotte 22.09.2010 04:48
quelle

Tags und Links