aus textdatei lesen und schreiben

Mr.Fies

Mitglied
So, hier ist das Script was ich gemacht habe, was aber nicht so wirklich funktioniert.

PHP:
<?PHP
$datei = "gbook/gbook.txt";
$file = file($datei);
$zahl = count($file);
//***********************************
$ok = "<b>Warte auf Eintrag...</b>";
if($action == "eintragen"){
    for($x = 0; $x <= $zahl - 1; $x++){
    $n = "||";
    $nl = "\n";
    $gbook_s = ereg_replace("\n","<br>",$gbook_s);
    $gbook = "$gbook_s[$x]$n$email[$x]$n$name[$x]$n$date[$x]$nl";
    $gbook_alles .= $gbook;
    }
    $gbook = fopen($datei,"w");
    fputs($gbook,$gbook_alles);
    fclose($gbook);
    $ok = "<b>Eintrag erfolgreich hinzugefügt, $zahl Einträge im Gästebuch.</b>";
}
else{
echo "
     <form method=\"POST\" action=\"\">
     <table cellspacing=\"2\" cellpadding=\"0\">
     <tr>
     ";
     //***********************************
     for($x = 0; $x <= $zahl - 1; $x++){
     $get = explode("||", $file[$x]);
     //***********************************
     if($x%2){
       $color = "#BBCEEE";
       }
       else{
       $color = "#ffffff";
       }
       //***********************************
       echo "
       <td align=\"left\" valing=\"middle\" bgcolor=\"$color\" class=\"normal\">
       <textarea name=\"gbook_s[$x]\" rows=\"8\" cols=\"35\" maxlength=\"5000\" class=\"box_area\">$get[0]</textarea>
       </td>
     </tr>
     <tr>
       <td align=\"left\" valing=\"middle\" bgcolor=\"$color\" class=\"normal\">
       <input name=\"email[$x]\" type=\"text\" size=\"40\" maxlength=\"100\" value=\"$get[1]\" class=\"box\"><br>
       <input name=\"name[$x]\" type=\"text\" size=\"40\" maxlength=\"100\" value=\"$get[2]\" class=\"box\"><br>
       <input name=\"date[$x]\" type=\"text\" size=\"40\" maxlength=\"100\" value=\"$get[3]\" class=\"box\">
       </td>
     </tr>
     ";
     }
     echo "
     <tr>
       <td align=\"left\" valign=\"middle\" class=\"normal\">
       <br>
       <input type=\"submit\" name=\"action\" value=\"eintragen\" class=\"button\">
       <input type=\"reset\" value=\"löschen\" class=\"button\">
       </td>
     </tr>
     </table>
     </form>
     ";
}
echo "
     <br>
     <br>
     $ok
     ";
?>

Es soll halt der ganze Inhalt der Datei ausgelesen werden, was auch funktioniert. Dann möchte ich die einzelnen Sachen verändern können und dann wieder alles in die Textdatei abspeichern.

Wer kann mir helfen, danke.
 
also hab mir selber schon mal sowas in der art vorgestellt, aber mehr als spielerei. Ich stellte mir vor bei jeder veränderung einmal die ganze datei auszulesen und dann das gewünschte zu verändern und dannach einfach die alte datei überschreiben also "neu" schreiben(natürlich mit den veränderungen). Das würde z.B. das Problem der Leute lösen die ne Langsame DB haben... Ich denke bei dir ist es ähnlich solltest einfach den gesammtinhalt inne var oder mehrere speichern und dann eben wie gesagt "neu" schreiben...

Hoffe das hat geholfen :)

Gruss Badmaster
 
erstmal danke für deinen vorschlag, das ist aner nicht ganz das was ich meine.

gibt es sonstnoch einen der einen vorschlag hat?

danke
 
Zurück