Zeilenumbruch nicht auslesen

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

  • Zeilenumbruch nicht auslesen

    Hallo Zusammen,

    ich habe ein Formular, dessen Inhalt ich in eine Textdatei speichere. Jeder Eintrag eines input-Tags in eine Zeile. Der letzte Eintrag bekommt ebenfalls leider noch einen Zeilenumbruch mit.

    Formular in Text-Datei speichern:
    PHP-Code:
    if ($action == "navRein")
    {

       
    $fp fopen("TEXT.txt","w");
       if (
    $fp)
       {
          
    flock($fp,2);
          
    $nl chr(13) . chr(10);
          for (
    $i=1$i<=$anzahl$i=$i+1)
          {
             
    fputs ($fp$_POST["element"][$i] . $nl);
          }
          
    flock($fp,3);
          
    fclose($fp);
       }

    Auslesen der Text-Datei - je Zeile in ein Input-Tag in das Formular zurück:
    PHP-Code:
    $fp fopen("TEXT.txt","r");
       if (
    $fp)
       {
          echo 
    "<form action='$phpfile' name='navform' method=post enctype='multipart/form-data'>";
          while (!
    feof($fp))
          {
             
    $x $x +1;
             
    $zeile fgets($fp100);
             echo 
    "<input name='element[$x]' value='$zeile' type='text' size='30' maxlength='30'><br>";
          }
          echo 
    "<input type='hidden' name='anzahl' value='$x'>";
          echo 
    "<input type='hidden' name='action' value='navRein'>";
          echo 
    "<input type = 'submit' value='Veröffentlichen'>";
          echo 
    "</form>";

          
    fclose($fp);
       } 
    Problem: Wenn ich die Text-Datei wieder in das Formular einlese, so erhalte ich immer zum Schluß noch ein leeres Input-Tag.
    Also möchte entweder den letzten Zeilenumbruch beim hineinschreiben in die Text-Datei verhindern oder beim Auslesen den letzten Zeilenumbruch und somit die letzte leere Zeile in der Text-Datei ignorieren!?

    Kann mir jemand helfen? Hat jemand eine Idee oder einen neuen Ansatz für mich?

    Im voraus vielen Dank!

    Gruß
    Jofris

  • #2
    Versuch es mal mit der Funktion trim
    http://www.php.net/manual/de/function.trim.php
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      ohne $anzahl zu kennen, tippe ich mal, dass du 1 zeile zuviel schreibst.
      versuchs mal so:

      PHP-Code:
      for ($i=1$i<$anzahl$i=$i+1
      Kissolino.com

      Kommentar


      • #4
        krieg's nicht hin!

        Vielen Dank Wurzel,

        am Gleichheitszeichen liegt es nicht, leider!


        Vielen Dank Günni,

        habe mit trim, rtrim und chop herumprobiert aber es hat nicht geklappt.
        Weiß nicht so genau, wie ich die Befehle ansetzten soll bei meinem Script!?

        Kann mir da noch jemand weiterhelfen oder einen Tipp geben?

        Nochmals vielen Dank!

        Gruß
        Jofris

        Kommentar


        • #5
          na einfach nen
          PHP-Code:
          if(trim($zeile)!="")echo ... 
          eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

          Kommentar


          • #6
            versuchs mal mit dem schnipsel, müsste eigentlich klappen.

            PHP-Code:
            $fp fopen("TEXT.txt","r");
               if (
            $fp)
               {
                  echo 
            "<form action='$phpfile' name='navform' method=post enctype='multipart/form-data'>";

                  
            $zeile explode("\n",fread($fp,filesize("TEXT.txt")));
                  for(
            $x=0;$x<count($zeile)-1;$x++)
                  {
                     echo 
            "<input name='element[$x]' value='$zeile[$x]' type='text' size='30' maxlength='30'><br>";
                  }

                  echo 
            "<input type='hidden' name='anzahl' value='$x'>";
                  echo 
            "<input type='hidden' name='action' value='navRein'>";
                  echo 
            "<input type = 'submit' value='Veröffentlichen'>";
                  echo 
            "</form>";

                  
            fclose($fp);
               } 
            Kissolino.com

            Kommentar


            • #7
              DANKE

              Hallo Slarti,

              vielen Dank! Hat geklappt!!!
              Nur warum verdaddel ich immer für die kleinen Probleme doppelt so lange, wie für die großen?

              Nochmals vielen Dank!

              Gruß
              Jofris

              Kommentar

              Lädt...
              X