Text Datei auslesen und per PHP ändern

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Azrael, 16.06.2005.

  1. Azrael

    Azrael Thread Starter MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    01.10.2004
    Guten Tag

    Ich möchte das ein Kunde ein TXT File per Browser über PHP auslesen kann und dann Änderungen vornehmen kann. Das TXT File sieht so aus:

    Titel|Hauptext|www.xxxxx.ch|_self

    Zuerst muss er den Titel ändern können, dann Haupttext, Website und Angabe wohin der Link führt.

    Es ist Zeile für Zeile aufgebaut die man auslesen sollte, die Daten werden getrennt durch das Zeichen |
    Kann mir dabei jemand helfen?
     
  2. AtoZ

    AtoZ Gast

    Wie jetzt? PHP soll irgendwie eine Datei mit .txt-Endung auslesen und so darstellen, dass der Text Zeile für Zeile wie bei einer Textverarbeitung editiert werden kann?

    J
     
  3. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.044
    Zustimmungen:
    1.318
    MacUser seit:
    13.09.2004
    Mein Vorschlag wäre die TXT Datei zu laden (File-Funktionen von PHP siehe PHP-manual),
    die Zeilen mit explode am "|"-Zeichen in arrays aufzubrechen und diese dem Benutzer in einer HTML-FORM zu präsentieren. Es kann ja nicht Aufgabe des users sein, auf die Syntax zu achten!
    Das abgesendete Formular aktiviert ein PHP-Skript, was die HTML-FORM-Vorgaben zu einem String per implode zusammenfügt ( wieder mit ""|” als Trennzeichen) und die Datei wird wieder geschrieben. Fertig.
     
  4. Azrael

    Azrael Thread Starter MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    01.10.2004
    Also :D
    In dem File "News.txt" stehen folgende Zeilen:

    Titel1|Hauptext|www.xxxxx.ch|_self
    Titel2|Hauptext|www.xxxxx.ch|_self
    Titel3|Hauptext|www.xxxxx.ch|_self

    Ich möchte nun das man per PHP das TXT File auslesen und auch ändern kann mit dem Browser per PHP!
    Die Rubriken sind im Txt File getrennt durch das Zeichen | , Darstellung sollte nachher auch so aussehen! [DLMURL]http://www.seishinbyouin.com/macuser/lala.html[/DLMURL]
     
  5. Nickless

    Nickless Gast

    Eigentlich nichts besonderes. Dein Script müsste so aussehen:

    Öffne .txt (fopen(".txt"))
    Lese Inhalt und füge diesen das HTML-Formular "Titel" ein, bis "|" kommt.
    Lese Inhalt und füge diesen das HTML-Formular "Haupttext" ein, bis "|" kommt.
    usw.

    Die Texte sind dann einzeln in den Formularen editierbar und sind für PHP nichts weiter als Variablen, die den gewünschten Inhalt haben.
    Mit dem späteren Klick auf "Absenden" im Formular, veranlasst Du noch das Schreiben aller Variablen, bzw. aller Formularinhalte in die Textdatei (fwrite() oder fputs()) und fertig.
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.044
    Zustimmungen:
    1.318
    MacUser seit:
    13.09.2004
    @Azrael: Dann hast Du doch alles was Du brauchst! File-Funktionen sind im PHP-manual beschreiben, implode() und explode() die Du für die Stringmanipulationen brauchst sind unter Stringfunktionen beschrieben. Was suchst Du noch?
     
  7. Azrael

    Azrael Thread Starter MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    01.10.2004
    Also :)
    Damit öffne ich nun mein File und setze es auf r/w

    $handle = fopen ("http://www.seishinbyouin.com/macuser/file.txt", "r");

    Nun splitte ich den Text mit:

    $infos= explode ("|", $handle);

    Wie kann ich nun die aufgeteilten Informationen in den leeren Felder darstellen?
     
  8. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.044
    Zustimmungen:
    1.318
    MacUser seit:
    13.09.2004
    z.B. so:
    PHP:
    print "<input type='text' name='titel1' maxlength='10' size='10' value='".$infos[0]."'>";
     
  9. Azrael

    Azrael Thread Starter MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    01.10.2004
    <?php
    $datei = file("file.txt");

    foreach($datei AS $ausgabe)
    {
    $zerlegen = explode("|", $ausgabe);

    echo "<b>$zerlegen[0]</b><br>
    $zerlegen[1]<br><br>$zerlegen[2]<br><br><br><br>$zerlegen[3]<br><br>";
    }
    ?>


    Bin weiter gekommen :) Jetzt muss ich es nur noch in die Felder schreiben können und speichern :D
     
    Zuletzt bearbeitet: 16.06.2005
  10. Azrael

    Azrael Thread Starter MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    01.10.2004
    <?php
    $datei = file("file.txt");

    foreach($datei AS $ausgabe)
    {
    $zerlegen = explode("|", $ausgabe);

    print "<input type='text' name='titel1' maxlength='25' size='25' value='".$zerlegen[0]."'>";
    print "<input type='text' name='titel1' maxlength='40' size='40' value='".$zerlegen[1]."'>";
    print "<input type='text' name='titel1' maxlength='40' size='40' value='".$zerlegen[2]."'>";
    print "<input type='text' name='titel1' maxlength='10' size='10' value='".$zerlegen[3]."'><br>";
    }

    ?>

    So sieht mein Code nun aus!
    Wie kann ich die gewünschten Felder geändert speichern und wieder in die Txt schreiben mit dem Befehl implode?
     
Die Seite wird geladen...
Ähnliche Themen - Text Datei auslesen
  1. Flacx
    Antworten:
    2
    Aufrufe:
    501
    Flacx
    17.01.2013
  2. falkgottschalk
    Antworten:
    3
    Aufrufe:
    1.081
    Labrar
    23.02.2013
  3. knastmoench
    Antworten:
    12
    Aufrufe:
    2.166
    knastmoench
    05.01.2013
  4. Andy15073
    Antworten:
    1
    Aufrufe:
    1.017
    falkgottschalk
    22.12.2011
  5. Shark Master

    variable $text

    Shark Master, 28.10.2010, im Forum: Web-Programmierung
    Antworten:
    16
    Aufrufe:
    901
    falkgottschalk
    31.10.2010