Mailinglisten-Archive |
At 19:23 12.09.2000 +0200, Mario Zott wrote: >probier gerade output-buffering zu betreiben funktioniert aber nicht. > ><snip> >echo "irgendwas"; >ob_start(); >echo "hallo"; >include("name.tpl"); >ob_end_flush(); ></snip> > >bei beiden rechnern das gleiche problem (string wird ganz normal >ausgegeben..) Hi Mario, das Verhalten ist ja auch richtig... Aus dem Manual: ob_start() -- Turn on output buffering ob_end_flush -- Flush (send) the output buffer and turn off output buffering du startest das OB, und dann lässt du alles aus dem Buffer aus- geben und beendest das OB. Was hast du denn vor? Beispiel bei dem OB nötig ist: <? function error($error, $line, $file, $var) { ob_start(); print_r($var); $var_content = ob_get_contents(); ob_end_clean(); echo(sprintf( "Fehler: %s\nZeile: %s\nDatei: %s\nInhalt der Variable:\n%s", $error, $line, $file, $var_content )); } ?> Damit kann man komfortabel bei seiner Error-Function das Debugging mit einbauen. Man übergibt der error-Function als 4. Argument eine Variable (z.B. wenn man mit Klassen arbeitet $this) und erhält deren kompletten Inhalt, egal ob Verschachtelte Arrays, Objekte, Stings, usw. Man kann anstatt print_r() nartürlich auch var_dump() ver- wenden, je nach belieben. Wiso hier OB nötig ist: print_r() bzw. var_dump() geben die Inhalte immer direkt aus, d.h. man kann sie ohne die OB-funktionen nicht ab- fangen. Bye Dante
php::bar PHP Wiki - Listenarchive