[print] austricksen

In der Tutorial und Snippet Sektion sind gute Beispiele zu finden, ansonsten hilft google auch imma wieder ;)
Weiss ich auch , nur bin ich noch nicht auf die Idee gekommen, nach einer Funktion zu suchen, die laut meinen schlauen Büchern nicht existiert...;-) Jetzt fand ich set_error_handler und set_exeption_handler - und das sind die Funktionen, die ich gesucht habe. Zwar nicht ganz mit der Funktionalität, die ich erwartet hatte...

Naja, trotzdem vielen Dank! Ich denke, jetzt werd' ich wohl was basteln können, das den Kram etwas besser handelt.

Greetz
Enum
 
Es geht doch gar nicht um einen Fehler, sondern um alternative Methoden, Chaosengel.

Wieviel Kontrolle hast du denn über die einzubindende Datei?

Und dann muss ich noch loswerden, dass die Version mit Output Buffern keineswegs "schmutzig" ist, auch wenn du es etwas seltsam gelöst hast, wie ich finde.
So gehts auch:

PHP:
<?php
// Get Variablen manipulieren

ob_start();
require 'file.php';
$content = ob_get_contents();
ob_end_clean();

print_r($content);
?>

So hast du zum Beispiel ebenfalls alles in einer Variable.

Eine andere Möglichkeit wäre, die Variablen zurückzugeben.

datei.php
PHP:
<?php
// Daten werden bereit gestellt, verarbeitet 
// und sonstige Aufgaben durchgeführt
// $retVal beinhaltet nun die Daten

return $retVal;
?>

main.php
PHP:
<?php
$var = include('datei.php');
?>
 
Ich glaub da hab ich die Funktion von ob_start(); und Co falsch verstanden...
So weit ich Informiert bin, dient das zum Buffer der Ausgabe, sodass in dem Bereich keine Outputs mit echo und Co erfolgen, sondern die Daten zwischengespeichert und später ausgegeben werden...
Oder hab ich das falsch mitbekommen?
 
Nein, hast du nicht.
Sobald ein Ausgabepuffer gestartet wird, werden keine Daten (außer Header Angaben) mehr an den Browser gesendet, sondern in einem internen Puffer zwischen gespeichert.
 
Schon klar, aber die Ausgabe landet ja eh als Argument in der definierten Funktion. Von da aus kann ich sie neben dem Dateihandle z.B. auch einem Globalen Skalar zuweisen und anschließend - wie oben - ganz normal über print ausgeben...
 
Zurück