Datei schreiben

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

  • Datei schreiben

    Hallo. Ja ich weiß ,dass dieses Thema schon des öfteren behandelt worden ist. Aber ich weiß echt nicht weiter.
    Mit folgendem Code erzeuge ich eine Datei:

    PHP-Code:
    <?php
    $datei 
    fopen "xml_test.xml""w+") or die ("Kann Datei nicht öffnen");
    $inhalt stripslashes($_GET["xml"]);
    fwrite $datei$inhalt ) or die ("Kann Datei nicht schreiben");
    fclose $datei ) or die ("Kann Datei nicht schließen");
    ?>
    Die Datei wird auch erzeugt. nun will ich die datei gleich anzeigen lassen.
    Wie gehe ich da vor?
    der Inhalt der Datei sieht folgendermaßen aus:
    Code:
    <PDO TYP="PO" VER="1">
    <GMK IP="1.1.1.1" ANR="SWLA_MP9C_INV12" KBZ="SWLAMP9C" ZST="1225812218" MZ="25375" GW="0"/>
    <PMK SID="12345" ST="M" BA="PU" WST="0" TID="0" TIM="0" BZA="TB" ANR="__________" AFNR="0" SNR="__________"/>
    </PDO>
    Danke schonmal für eure Hilfe.

    Gruß Split
    Zuletzt geändert von split; 13.11.2008, 12:54.

  • #2
    Du kannst mit der Funktion file() alle Zeilen der Datei in ein Array speichern und es dann per foreach ausgeben.

    z.b.:
    PHP-Code:
    $file file($datei);
    foreach(
    $file as $key => $lines)
    {
    echo 
    $lines;

    Lurchi ! Lurchi ! Lurchi !

    Kommentar


    • #3
      echo $inhalt

      Kommentar


      • #4
        Original geschrieben von Anbu
        Du kannst mit der Funktion file() alle Zeilen der Datei in ein Array speichern und es dann per foreach ausgeben.

        z.b.:
        PHP-Code:
        $file file($datei);
        foreach(
        $file as $key => $lines)
        {
        echo 
        $lines;

        Da kommt bei mir folgende Fehlermeldungen:

        Warning: file() expects parameter 1 to be string, resource given in /Projekte/avs/public_html/Prisma_isli4/scripts/xml_datei.php on line 25

        Warning: Invalid argument supplied for foreach() in /Projekte/avs/public_html/Prisma_isli4/scripts/xml_datei.php on line 26

        Kommentar


        • #5
          Original geschrieben von onemorenerd
          echo $inhalt
          Da zeigt er mir nichts an. Also eine leere Seite.

          Kommentar


          • #6
            $datei ist ja auch nicht der name der datei, sondern die resource von fopen!

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              z.B.:

              PHP-Code:
              $datei 'Bestellung/log/rechnung.txt';
              $file file($datei); 
              Lurchi ! Lurchi ! Lurchi !

              Kommentar


              • #8
                Original geschrieben von split
                Da zeigt er mir nichts an. Also eine leere Seite.
                Schau dir mal den Quelltext der leeren Seite an.

                Kommentar


                • #9
                  Original geschrieben von onemorenerd
                  Schau dir mal den Quelltext der leeren Seite an.
                  So sieht der Quelltext aus:

                  Code:
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                  <HTML><HEAD>
                  <META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
                  <BODY></BODY></HTML>

                  Kommentar


                  • #10
                    Ich weiß ja nicht, was du sonst noch so machst. Aber wenn der Code in deinem ersten Post alles ist, dann steht am Ende in $inhalt genau das, was du auch in die Datei geschrieben hast.

                    Poste doch mal deinen aktuellen Code. Und verrate uns bitte, wie du die XML-Datei "anzeigen" lassen willst ... ich meine, wie soll das aussehen?

                    Kommentar


                    • #11
                      So sieht nun mein gut aus, mit dem eine leere Seite angezeigt wird:
                      PHP-Code:
                      <?php
                      $datei 
                      fopen 'xml_test.xml''w+') or die ("Kann Datei nicht öffnen");
                      $inhalt stripslashes($_GET["xml"]);
                      fwrite $datei$inhalt ) or die ("Kann Datei nicht schreiben");

                      $test 'Projekte\\avs\\public_html\\Prisma_isli4\\scripts\\xml_test.xml';
                      $file file($test);
                      foreach(
                      $file as $key => $lines)
                      {
                      echo 
                      $lines;
                      }
                      fclose $datei ) or die ("Kann Datei nicht schließen");
                      ?>

                      Kommentar


                      • #12
                        so
                        Code:
                        <PDO TYP="PO" VER="1">
                        <GMK IP="1.1.1.1" ANR="SWLA_MP9C_INV12" KBZ="SWLAMP9C" ZST="1225812218" MZ="25375" GW="0"/>
                        <PMK SID="12345" ST="M" BA="PU" WST="0" TID="0" TIM="0" BZA="TB" ANR="__________" AFNR="0" SNR="__________"/>
                        </PDO>
                        oder auch in einer Zeile

                        will ich anzeigt haben.
                        Zuletzt geändert von split; 13.11.2008, 14:21.

                        Kommentar


                        • #13
                          Du willst also wirklich XML ausgeben? Dann solltest du dem Browser das auch mitteilen, Stichwort Content-type.

                          PHP-Code:
                          <?php
                          $datei 
                          fopen 'xml_test.xml''w+') or die ("Kann Datei nicht öffnen");
                          $inhalt stripslashes($_GET["xml"]);
                          fwrite $datei$inhalt ) or die ("Kann Datei nicht schreiben");

                          header('Content-type text/xml');
                          echo 
                          $inhalt// oder readfile('xml_test.xml');
                          EDIT:
                          Bitte lösche die lange Zeile im letzten Post - wir können uns sehr gut vorstellen, wie 3 Zeilen in einer aussehen, scrollen aber nicht gern bis Asien!
                          Zuletzt geändert von onemorenerd; 13.11.2008, 14:21.

                          Kommentar


                          • #14
                            Danke für die Hilfe.
                            Jetzt hab ich zwar immernoch eine leere Seite. Aber im Quelltext wird es jetzt angezeigt.

                            Kommentar


                            • #15
                              Ist es denn so schwer...... ?
                              PHP-Code:
                              // schreiben
                              file_put_contents('xml_test.xml',stripslashes($_GET["xml"]));


                              // lesen und als HTML präsentieren
                              echo nl2br(htmlentities(file_get_contents('xml_test.xml'))); 
                              Wir werden alle sterben

                              Kommentar

                              Lädt...
                              X