Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte in Textdatei speichern und auslesen

Einklappen

Neue Werbung 2019

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

  • Werte in Textdatei speichern und auslesen

    Hello again,

    ich habe bzgl. Werte in Textdateien speichern schon einige Versuche unternommen, klägliche Skripts mit fopen, fgets, fputs und fclose, aber ich krieg es nie wirklich hin in der richtigen Zeile ab dem richtigen Zeichen etwas rein zu speichern bzw. irgendwelche Zeichenketten zu ersetzen.

    Kurz gesagt ich find in Manuals und bei google nichts richtiges, oder suche nicht richtig, und suche einfach ein Skript (bzw. Tutorial womit man sich selbiges aneignen kann), und man soll einfach Nummern und Namen in Textdateien hinzufügen, löschen, ändern und anzeigen können, weil ja hier bei mir im Firmenintranet kein MySQL möglich ist.

    Bin auch offen für andere Vorschläge wie man so eine einfache kleine Verwaltung realisieren kann.

    Und nein, ich erwarte nicht, dass mir hier jemand was komplettes schreibt, dann geh ich doch lieber ins Gesuche Forum, aber wenn mir bitte jemand zu guten Tutorials/Links raten kann, wär mir vlt. auch schon geholfen.

  • #2
    Schau mal bei hotscripts.com

    Vielleicht ist da ja was dabei...

    Gruß,
    Andy

    Kommentar


    • #3
      Naja, entweder durchsuche ich immer die falschen Kategorien oder ich find einfach kein simples Verwaltungsscript auf den ganzen Scriptseiten wie hotscripts.com und php-free.de, ich suche ja nichts kompliziertes, sondern nur ein einfaches z.B. Telefonbuch oder eine Bücherverwaltung oder irgendwas kleines, was mit Textdateien statt Datenbanken arbeitet. Sowas müßte es doch in Massen geben, aber ich find nichts. Kann mir da nicht bitte jemand irgendwas konkretes empfehlen? Oder sollte ich damit doch lieber ins Gesuche Forum gehen?

      Kommentar


      • #4
        Zitat von m80331
        Sowas müßte es doch in Massen geben
        Nein, eben nicht, weil solche Scripte mit einer Datenbank um ein Vielfaches leichter zu schreiben sind. Warum willst du keine Datenbank nehmen?

        Gruß
        phpfan

        Kommentar


        • #5
          Weil das dieses beschissene Firmenintranet hier nicht unterstützt, aber die Chefs dennoch sowas wollen.

          Manche Counter funzen doch auch mit Textdateien, also muss es da doch irgendwas geben, ich würds ja selbst tippen, hab aber keine Ahnung wie man das mit Werte hinzufügen und rauslöschen und sortieren und suchen und alles macht.

          Kommentar


          • #6
            Tja, dann hast du ganz schlechte Karten. Mit Dateien ist das ein Gefummel ohne Ende, sowas möchte ich nicht schreiben müssen.

            Gruß
            phpfan

            Kommentar


            • #7
              Zitat von phpfan
              ... sowas möchte ich nicht schreiben müssen.
              Ich auch nicht. *heul*

              Aber irgendjemand muss sowas doch schonmal hingekriegt haben, wenn auch nur teilweise. *hoff*

              Kommentar


              • #8
                fang an ..
                http://php.net/filesystem
                [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                Kommentar


                • #9
                  Also fopen, while(!feof, fgets und fclose hab ich ja noch selbst hingekriegt. Aber dann gehen schon die Probleme los, hab jetzt zum Test folgende Datei bibo.txt:

                  eins|1
                  zwei|2
                  drei|3
                  vier|4
                  fünf|5

                  Das auslesen mit fgets, das zerteilen mit explode, und das ausgeben in tabellenform funktioniert ja schon. Nun hab ich eine Funktion die mal einen Wert ändern soll, also hier mal folgender qt:

                  Code:
                  <?php
                  
                   function ausgabe()
                   {
                    $bibo="bibo.txt";
                    $fp=fopen($bibo,"r+");
                    echo '<table border=1><tr><th>Name</th><th>Nummer</th><th>Ändern</th></tr>';
                    while(!feof($fp))
                    {
                     $i=fgets($fp,512);
                     $i=explode('|',trim($i));
                     echo "<tr><td>$i[0]</td><td>$i[1]</td><td><a href=bibo.php?a=".($i[1]-1).">ändern</a></td></tr>";
                    }
                    echo '</table>';
                    fclose($fp);
                   }
                   
                   function aendern($b)
                   {
                    $bibo="bibo.txt";
                    $fp=fopen($bibo,"r+");
                    while(!feof($fp))
                    {
                     $i=fgets($fp,512);
                     $i=explode('|',trim($i));
                     if($i[1]==$b) { $i[0]='abcd'; fwrite($fp,$i[0]); }
                    }
                    fclose($fp);
                   }
                   
                   ausgabe();
                   if($a!='') aendern($a);
                   ausgabe();
                  ?>
                  Ich weiß da ist noch kein reload und weiterleitung drin, und es wäre besser für jedes Vorgehen eine eigene php datei zu schreiben, aber zum Test geht das ja erstmal so, nur ändert o.g. Skript nur den 2.-5. Wert erfolgreich, den ersten nicht, warum?

                  Kommentar


                  • #10
                    Das könte weiterhelfen, um das Prinzip zu verstehen:

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

                    Gruß
                    phpfan

                    Kommentar


                    • #11
                      prinzipiell:
                      daten in array lesen, arrayelement ändern. array wieder in die datei schreiben. oder?
                      [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                      Kommentar


                      • #12
                        Zitat von Ben
                        prinzipiell:
                        daten in array lesen, arrayelement ändern. array wieder in die datei schreiben. oder?
                        Naja ich habe das ja jetzt im Array, die eins,zwei,drei,vier,fünf und die 1,2,3,4,5; soweit sogut. Nun hab ich ein Array mit lauter Strings, nur klappt es in o.g. Bsp. immer nur den Wert in der 2.-5. Zeile zu ändern, wieso nicht die erste, was ist da falsch?

                        @phpfan: nicht das du denkst ich habs überlesen, bin gerade dabei mir dein link anzusehen.

                        Kommentar


                        • #13
                          Zitat von Ben
                          prinzipiell:
                          daten in array lesen, arrayelement ändern. array wieder in die datei schreiben. oder?
                          Hab das jetzt soweit:
                          Code:
                          <?php
                          
                           function ausgabe($ar)
                           {
                            echo '<table border=1><tr><th>Name</th><th>Nummer</th></tr>';
                            for($i=0;$i<count($ar);$i++)
                            {
                             $a=explode('|',trim($ar[$i]));
                             echo "<tr><td>$a[0]</td><td>$a[1]</td></tr>";
                            }
                            echo '</table>';
                           }
                          
                           $array=file('bibo.txt');
                          
                           ausgabe($array);
                          
                           $array[2]='test|9';
                          
                           $fp=fopen('bibo.txt',"r+");
                           for($i=0;$i<sizeof($array); $i++)
                           {
                            fputs($fp,chop($array[$i])+"\n");
                           }
                           fclose($fp);
                          
                           ausgabe($array);
                          
                          ?>
                          Aus dieser Datei:
                          eins|1
                          zwei|2
                          drei|3
                          vier|4
                          fünf|5

                          wird dann statt:
                          eins|1
                          zwei|2
                          test|9
                          vier|4
                          fünf|5

                          eher folgendes:
                          000001
                          zwei|2
                          drei|3
                          vier|4
                          fünf|5

                          Was mach ich denn nur falsch?

                          Kommentar

                          Lädt...
                          X