Ergebnis 1 bis 5 von 5
  1. #1
    eismann90 ist offline Mitglied
    registriert
    28-02-2008
    Beiträge
    36

    Textdatei als Array einlesen und wieder speichern

    Hallo, ich bin dabei ein Gästebuch zuschreiben

    Die Einträge sollen in einer Textdatei einfach abgespeichert werden.

    gb.txt
    Code:
    <a href="blabla">Name</a><p>Kommentar 1</p>
    <a href="blabla">Name</a><p>Kommentar 2</p>

    Da ich aber immer den neusten Eintrag an der Spitze haben möchte, mache ich das ganze mit einer Array und mittels array_unshift um den Eintrag an die erste Position des Array zu stellen. Zusaätzlich will ich nicht mehr als 30 Einträge, daher verwende ich noch unset um immer gleich die letzte Position zu löschen...

    gb_eintragen.php
    PHP-Code:
    $kommentare = array();
    $kommentare file("gb.txt");

    unset(
    $kommentare[30]);

    $daten="<a href=\"blabla\">Name</a><p>blablabla wird per POST gemacht...</p>";
    array_unshift($kommentare,$daten);

    $speicher fopen("gb.txt","w");
    fwrite($speicher$kommentare);
    fclose($speicher); 

    for(
    $i=0$i<=30$i++) {
        echo 
    $kommentare[$i];


    Ich hoffe ihr könnt mir ein wenig auf die Sprünge helfen...

    Gruß Phil

  2. #2
    [-UFO-]Melkor ist offline Doppel-As
    registriert
    16-08-2006
    Beiträge
    141

    AW: Textdatei als Array einlesen und wieder speichern

    File->Array: PHP: file - Manual
    Array->String: PHP: implode - Manual
    String->File: PHP: fopen - Manual, PHP: fwrite - Manual, PHP: fclose - Manual

    Ich würde aber generell die Verwendung einer MySql-Datenbank - falls verfügbar - empfehlen.

  3. #3
    eismann90 ist offline Mitglied
    registriert
    28-02-2008
    Beiträge
    36

    AW: Textdatei als Array einlesen und wieder speichern

    MySQL ist verfügbar...
    wollte es aber jetzt erst mal in PHP versuchen...

    gb_schreiben.php
    PHP-Code:
    $kommentare=file("gb.txt");
    $daten="Inhalt blabla";
    array_unshift($kommentare,$daten);
    implode("\n",$kommentare);
    $buch=fopen("gb.txt","w");
    fwrite($buch$kommentare);
    fclose($buch); 
    nur ich bekomme nur ein ,,Array" ausgespuckt, also in meiner gb.txt steht dann einfach nur ,,Array". Das verstehe ich jetzt nicht ganz.

  4. #4
    Luz
    Luz ist offline Haudegen
    registriert
    27-09-2003
    Beiträge
    698

    AW: Textdatei als Array einlesen und wieder speichern

    Du musst Deinen Kommentar Array noch durchlafen, und jeden einzelnen
    Kommentar in die Textdatei eintragen:

    PHP-Code:
    // Alles wie gehabt..
    // ....
    $buch=fopen("gb.txt","w"); 
    foreach (
    $kommentare as $kommentar) {
          
    fwrite($buch$kommentar."\n"); 
    }
    fclose ($buch); 
    EDIT: Ich sehe gerade, dass Du das ja mit implode realisieren wolltest. Das geht selbstverständlich auch, liefert jedoch einen Rückgabewert. Also so:
    PHP-Code:
    $text implode("\n",$kommentare); 
    Bei unshift ist dies nicht nötig, da dort mit der Referenz des Arrays gearbeitet wird.
    Geändert von Luz (08-08-2008 um 16:11 Uhr)

  5. #5
    eismann90 ist offline Mitglied
    registriert
    28-02-2008
    Beiträge
    36

    AW: Textdatei als Array einlesen und wieder speichern

    super! echt vielen dank! klappt jetzt alles wie am schnürchen

Ähnliche Themen

  1. Array in Cookie speichern
    Von Magingo im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 06-05-2007, 11:44
  2. Antworten: 8
    Letzter Beitrag: 16-02-2007, 01:12
  3. mysql_fetch_atrray in einen normalen array speichern
    Von Demonking im Forum Serverseitige Programmierung
    Antworten: 12
    Letzter Beitrag: 28-06-2006, 11:29
  4. Formular in Textdatei speichern und wieder einlesen
    Von smira17 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 10-06-2005, 15:12
  5. warum kommt hier undefined als ergebnis?
    Von Jemand im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 28-04-2004, 13:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •