[Funktion] var_dump() in String speichern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] var_dump() in String speichern

    HI,

    gibt es die Möglichkeit, das, was mir var_dump( $variable ) ausgibt anstatt an den client zu senden, mir in einem String zu speichern?
    Die Sache ist die:
    Ich würde gerne, falls Fehler im Sourcecode auftreten, mir eine Email schicken, in der alle Daten zur Laufzeit stehen, mit unter auch die Ausgabe von einer der "Debug"-Ausgaben.

    Ich weiß, das man der Funktion highlight_string zum Beispiel als zweiten Parameter ein true mitgibt und die Ausgabe beim Client so ausbleibt, die Funktion den String nur zurückgibt!

    Kennt da jemand was bzw. hat einen Vorschlag?

  • #2
    Outputbuffering: ob_start
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      hmm, Outputbuffering wäre wohl eher umständlich.

      ich denke was du suchst ist:
      PHP-Code:
      $var = Array("besser""als""ob_start");
      $dump print_r($vartrue);
      echo(
      "<pre>$dump</pre>"); 
      Gruß Basti

      Kommentar


      • #4
        Joo, sowas ist gut! Danke!

        So, jetzt die nächste Frage: Wie kann ich auf alle lokal definierten Vars zugreifen, so das ich mit print_r( $allVars ) sozusagen alle Variablen, die jetzt gerade existieren mit Inhalt ausgeben kann!
        Wenn man einen eigenen ErrorHandler bastelt, wird das alles als letzter Parameter übergeben, doch wie krieg ich sowas hin, wenn ich jetzt nicht absichtlich nen Error einbauen möchte??

        errcontext

        The fifth parameter is optional, errcontext, which is an array that points to the active symbol table at the point the error occurred. In other words, errcontext will contain an array of every variable that existed in the scope the error was triggered in. User error handler must not modify error context.

        Kommentar


        • #5
          Ahh, hat sich erledigt!
          var_dump( $GLOBALS );

          Kommentar


          • #6
            hmm, Outputbuffering wäre wohl eher umständlich.
            die ausgabe von var_dump() ist aber nicht durch die ausgabe von print_r() ersetzbar, und damit ist print_r() weder besser als var_dump() noch eine alternative.

            PHP-Code:
            <?php
            header
            ('Content-type: text/plain');
            $data = array(nullfalse'');

            echo 
            "ausgabe von print_r():\n";
            print_r($data);

            echo 
            "ausgabe von var_dump():\n";
            var_dump($data);
            output buffering ist wirklich die einzige möglichkeit, die ausgabe von var_dump() in einen string umzuleiten.

            grüße
            axo

            Kommentar


            • #7
              also das, was mir das print_r gibt, war schon das, was ich haben will! Die Ausgaben sind natürlich nicht die gleichen, doch ist der Inhalt der Variablen wichtig und den kann ich mit print_r ja auslesen!

              Kommentar


              • #8
                Wie wäre es denn mit get_defined_vars?

                Kommentar


                • #9
                  Oii, das ist ja noch viel besser!!! Mensch, es gibt echt zu viele Funktionen, so schnell kann man sich die gar net alle aneignen...

                  Aber vielen Dank für eure Hilfe!!

                  Kommentar


                  • #10
                    Naja, generell sollte man sein Problem auch näher spezifizieren, schließlich hast du explizit nach der Ausgabe von var_dump gefragt ...
                    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                    var_dump(), print_r(), debug_backtrace und echo.
                    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                    Kommentar

                    Lädt...
                    X