ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
937
937
EMPFEHLEN
-
Jo ich hab seit längerem ob_start in meiner _head.php aber keine ahnung warum

und da hab ich halt mal in der manual nachgelesen und bin ehrlich gesagt auch nicht schlauer geworden...
irgendwas mit "Diese Funktion schaltet die Pufferung von Ausgaben ein."
Nur sagt mir das ned viel, sorry ich kann mir drunter nicht viel vorstellen? Wie kann man sich das ganze denn vorstellen?
Was bringen mir die befehle ob_start und ob_end_flush?
Und wie kann ich damit sinnvoll arbeiten?
grüsse, suB
-
30.07.03 23:37 #2
- Registriert seit
- Jun 2003
- Ort
- Aglasterhausen bei Heidelberg
- Beiträge
- 23
ob_start
Diese Funktion schaltet die Pufferung von Ausgaben ein. Solange die Ausgabe-Pufferung aktiv ist, erfolgt keine Ausgabe bei der Skript-Ausführung. Statt dessen werden alle Ausgaben in einem internen Puffer gespeichert.
Der Inhalt diese internen Puffers kann in eine String-Variable kopiert werden (per ob_get_contents()). Die Ausgabe erfolgt erst bei Aufruf von ob_end_flush() und sobald der Puffer-Inhalt per ob_end_clean() verworfen wird.
ob_end_flush
Der Inhalt des Ausgabe-Puffers (sofern vorhanden) wird abgeschickt und die Pufferung der Ausgabe deaktiviert. Falls sie mit dem Puffer-Inhalt weiter arbeiten möchten, müssen sie diesen erst per ob_get_contents() zwischen speichern bevor sie ob_end_flush() aufrufen, da dadurch der Puffer geleert wird.
Ist doch eigentlich recht deutlich beschrieben was die Funktionen bewirken oder?Frägt sich nur wie die da plötzlich in deinen Code rein kommen
mfg,
vanteX
-
ja und was kann ich nun damit bewirken mit den befehlen?
ich glaub ich hab sie mal aus einem grund von cookies reingegeben...
irgendwie wurde mein header schon aufgerufen und da hat diese funktion geholfen oder so
aber was kann ich damit erreichen? effektiv...
-
30.07.03 23:50 #4
- Registriert seit
- Jun 2003
- Ort
- Aglasterhausen bei Heidelberg
- Beiträge
- 23
Effektiv fällt mir da auch kein Beispiel ein.
Du kannst halt die Ausgabe zurückhalten und das dann später ausgeben.Vielleicht gäbe das dann eine Möglichkeit das du es nach der Pufferung nochmal filterst oder so, aber was konkretes fällt mir nicht ein!mfg,
vanteX
-
deiner erklärung nach sollte das:
foobar rock<hr> ausgeben...PHP-Code:<?php
$str_1 = "foobar rockz<hr>";
$str_2 = "aso is das";
ob_start();
echo $str_1;
ob_flush();
?>
und das:
sollte garnichts ausgeben... in beiden fällen gibt es mir den string aber aus... hab ich da was falsch verstanden?PHP-Code:<?php
$str_1 = "foobar rockz<hr>";
$str_2 = "aso is das";
ob_start();
echo $str_1;
?>
greetz
-
ob_start() und ob_end_flush() kommt eigentlich am meisten dann zum einsatz, wenn man die ausgabe bestimmter dinge verzögern möchte.
zum beispiel:
gibt sofortPHP-Code:<?php
highlight_file( __FILE__ );
?>
den hervorgehobenen Text aus. Die Möglichkeit, das noch irgendwo weiterzuverwenden ist nicht gegeben.
speichert den syntaxhighlighter erst in der variable und man kann dann den inhalt ausgeben wo man will. z.B. könnte man das noch jeweils in zeilen aufsplitten und davor eine Zeilennummer schreiben.PHP-Code:<?php
ob_start();
highlight_file( __FILE__ );
$highlight = ob_get_content();
ob_end_clean();
echo $highlight;
?>
@ Samuel:
du musst deinen puffer immer mit ob_end_clean bzw. ob_end_flush beenden, damit es klappt. ob_flush sendet nur den Puffer!Geändert von methodus (31.07.03 um 07:37 Uhr)
Empirismus, die lieblingsmethode aller mir bekannter Programmierer :]
Ähnliche Themen
-
Fehlermeldung bei ob_start()?
Von jackie05 im Forum PHPAntworten: 5Letzter Beitrag: 08.07.08, 23:53 -
ob_start und ob_end_flush
Von SigmundK im Forum PHPAntworten: 1Letzter Beitrag: 21.02.07, 20:39 -
header, ob_start und ob_end_flush
Von Eaden im Forum PHPAntworten: 6Letzter Beitrag: 19.04.05, 15:16 -
Divergente Browserausgaben bei ob_end_flush()
Von speicher im Forum PHPAntworten: 2Letzter Beitrag: 02.03.05, 18:04 -
ob_start() und header() ?
Von Funjoy im Forum PHPAntworten: 12Letzter Beitrag: 12.11.04, 17:10





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren