Ankündigung

Einklappen
Keine Ankündigung bisher.

Einzelne Zeilen aus einer Txt Datei löschen

Einklappen

Neue Werbung 2019

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

  • Einzelne Zeilen aus einer Txt Datei löschen

    Ich habe eine Textdatei in dem die Zeile folgendermaßen aufgelistet sind:
    • Name|Nachricht|Datum|IP
      Name2|Nachricht2|Datum2|IP2
      Name3|Nachricht3|Datum3|IP3
      Name4|Nachricht4|Datum4|IP4
      Name5|Nachricht5|Datum5|IP5
      Name6|Nachricht6|Datum6|IP6
      Name7|Nachricht7|Datum7|IP7


    Jetzt möchte ich diese im Browser per PHP ausgeben und einzelne Zeilen löschen.
    Die Ausgabe habe ich hinbekommen:

    PHP-Code:
    <?
    $inhalt = file('nachrichten.txt');
    $i=0;
    foreach($inhalt AS $ausgabe)
    {
       $zerlegen = explode("|", $ausgabe);
       echo 'Von: '.$zerlegen[0].' 
    ';
       echo 'Nachricht: '.$zerlegen[1].' 
    ';
       echo 'Datum: '.$zerlegen[2].' 
    ';
       echo 'IP: '.$zerlegen[3].' 

    ';
       $i++;
       
    }
    ?>
    Aber wie mache ich das mit de Löschen?
    Bitte nehmt Rücksicht, bin einfach nur ein Blutiger Anfänger in PHP.

  • #2
    13.4. Wie kann ich in einer Datei eine Zeile einfügen oder löschen?
    http://faq-phpfriend.de/q/q-datei-einfuegen.html

    Gruß
    phpfan

    Kommentar


    • #3
      O.k., ich stelle die Frage mal anders, denn wie ich die einzelne Zeile lösche bekomme ich jetzt hin, nur die Ausgabe sieht noch nicht so aus wie sie sein soll.

      Also die Daten werde jetzt so:
      • Name|Nachricht|Datum|IP [Checkbox]
        Name2|Nachricht2|Datum2|IP2 [Checkbox2]
        Name3|Nachricht3|Datum3|IP3 [Checkbox3]
        Name4|Nachricht4|Datum4|IP4 [Checkbox4]
        Name5|Nachricht5|Datum5|IP5 [Checkbox5]
        Name6|Nachricht6|Datum6|IP6 [Checkbox6]
        Name7|Nachricht7|Datum7|IP7 [Checkbox7]

        [Sende Button]


      angezeigt, ich möchte aber das die | weg sind.
      Wie stelle ich das an?

      Hier mein jetziger Quelltext:

      PHP-Code:
      <?php

      if (isset($HTTP_POST_VARS['delete'])) {
      $inhalt file('nachrichten.txt');
      $fp fopen('nachrichten.txt','w');
      flock($fp,2);
      while (list(
      $inhalt_key,$inhalt_val) = each($inhalt)) {
      if (!isset(
      $HTTP_POST_VARS['delete'.$inhalt_key])) {
      fwrite($fp,$inhalt_val);
      }
      }
      flock($fp,3);
      fclose($fp);
      }


      $inhalt file('nachrichten.txt');

      echo 
      '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">';
      while (list(
      $inhalt_key,$inhalt_val) = each($inhalt)) {
      echo 
      $inhalt_val.'<input type="checkbox" name="delete'.$inhalt_key.'">
      '
      ;
      }
      echo 
      '<input type="submit" name="delete"></form>';

      ?>
      Bitte nehmt Rücksicht, bin einfach nur ein Blutiger Anfänger in PHP.

      Kommentar


      • #4
        PHP-Code:
        <?php
         $inhalt 
        file('nachrichten.txt');
         
        $i 0;
         foreach(
        $inhalt AS $ausgabe)
         {
            
        $zerlegen explode("|"$ausgabe);
            
        $array = array($zerlegen[0], zerlegen[1], zerlegen[2], zerlegen[3]);
            
        $zusammen implode(" ""$array"); //Leerzeichen nicht vergessen!
            
        echo $zusammen;
            
        $i++;   
         }
        ?>
        Ich hoffe ich habe dich richtig verstanden

        Kommentar


        • #5
          Zitat von Brease
          Ich hoffe ich habe dich richtig verstanden
          Leider nicht,
          Ich bekommen die | mit

          PHP-Code:
          <? 
          $inhalt = file('nachrichten.txt'); 
          $i=0; 
          foreach($inhalt AS $ausgabe) 

             $zerlegen = explode("|", $ausgabe); 
             echo 'Von: '.$zerlegen[0].' 
          '; 
             echo 'Nachricht: '.$zerlegen[1].' 
          '; 
             echo 'Datum: '.$zerlegen[2].' 
          '; 
             echo 'IP: '.$zerlegen[3].' 

          '; 
             $i++; 
              

          ?>
          weg, aber wie übergebe ich die Daten hier rein?

          PHP-Code:
          <?
          echo '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">'; 
          while (list($inhalt_key,$inhalt_val) = each($inhalt)) { 
          echo $inhalt_val.'<input type="checkbox" name="delete'.$inhalt_key.'">
          '; 

          echo '<input type="submit" name="delete"></form>'; 

          ?>
          Also das die Checkbox hinter jeder Zeile angezeigt wird und beim Absenden auch als ganze zeile übernommen wird.
          Bitte nehmt Rücksicht, bin einfach nur ein Blutiger Anfänger in PHP.

          Kommentar


          • #6
            Also jetzt nochmal eine Verständnissfrage: Zuerst willst du die Einträge löschen. Dann willst du die | weg bekommen. Und jetzt hast du die plötzlich weg bekommen, und willst nur die Daten übergeben richtig?

            Kommentar


            • #7
              Also ich will die einzelne Zeilen löschen.
              Ich weiß die einzelnen schritte wie ich die | wegbekomme oder die einzelnen Zeilen löschen, aber ich weiß nicht wie ich beides anstelle, also das es insgesamt so aussieht wie in meinem 2 Post nur ohne | .
              Bitte nehmt Rücksicht, bin einfach nur ein Blutiger Anfänger in PHP.

              Kommentar


              • #8
                aso. ich hätte vorher mal noch eine frage: bekommst du keinen parse error?
                PHP-Code:
                <?php
                echo '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">'
                ?>
                eigentlich darfst du zwischen einfachen anführungsstrichen nur doppelte und zwischen doppelten nur einfache. und du hast zwischen einfachen auch nochmal einfache gesetzt
                darausfolgt: pars error

                Kommentar


                • #9
                  Zitat von Brease
                  aso. ich hätte vorher mal noch eine frage: bekommst du keinen parse error?
                  PHP-Code:
                  <?php
                  echo '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">'
                  ?>
                  eigentlich darfst du zwischen einfachen anführungsstrichen nur doppelte und zwischen doppelten nur einfache. und du hast zwischen einfachen auch nochmal einfache gesetzt
                  darausfolgt: pars error
                  Nein bekomme ich nicht.

                  Denn wo sind hier die anführungsstriche falsch?
                  • echo '<form method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">';


                  Rot = Doppel
                  Blau = Einfach
                  Bitte nehmt Rücksicht, bin einfach nur ein Blutiger Anfänger in PHP.

                  Kommentar

                  Lädt...
                  X