.txt-Datei editieren und anschließend speichern

Thanatos

Mitglied
Hallo,

ich möchte eine .txt-Datei in einem mehrzeiligen Textfeld öffnen. Dazu habe ich folgende Befehle benutzt:

.
.
.
<textarea name="text" cols="100" rows="20">

<?

$datenbank = "meine .txt-Datei";

$datei = fopen($datenbank, "r");
readfile($datenbank);
fclose($datei);

?>

</textarea>
.
.
.

Der Inhalt meiner .txt-Datei wird auch angezeigt und ich kann ihn auch editieren. Wenn ich anschließend auf "Abschicken" klicke, sollte eigentlich der Inhalt der "alten" .txt-Datei durch den Inhalt der Editierten ersetzt werden. Dazu habe ich folgende Befehle benutzt:

<?

$datenbank = "meine .txt-Datei";

$datei = fopen($datenbank, "w+");
fwrite($datei, $text);
fclose($datei);

?>

Ich habe jede Menge verschiedener Möglichkeiten ausprobiert, aber es klappt einfach nicht (es kommt auch keine Fehlermeldung). Ich hoffe ihr könnt mir weiterhelfen.
Vielen Dank schonmal im Vorraus.
 
Hm ... *grübel* Versuchs mal so:
PHP:
<? 

$datenbank = "meine .txt-Datei"; 
unlink($datenbank);

$datei = fopen($datenbank, "w+"); 
fwrite($datei, $text); 
fclose($datei); 

?>
Edit: Das erste hätte ich aber eher so geschrieben:
PHP:
...
<? 

$datenbank = "meine .txt-Datei"; 

$datei = fopen($datenbank, "r"); 
$readfile = fread($datei, filesize($datenbank)); 
fclose($datei); 

?> 
...
Ist aber dir überlassen ;)

Grüße, Morph
 
Zuletzt bearbeitet:
Hi,

erst einmal vielen Dank für deine schnelle Antwort.

Ich habe die neue Zeile eingebaut. Doch jetzt kommt leider eine Fehlermeldung. Der 'Unlink' Befehl kann nicht ausgeführt werden.

Gibt es vielleicht noch eine ganz andere Möglichkeit, mein Vorhaben zu verwicklichen ? Mir ist bis jetzt noch keins eingefallen.


Gruß,
Thanatos
 
Das unlink nicht funzt ist komisch - nunja. gehts denn, wenn du unlink weglässt ?
Wenns nicht geht sag bescheid, dann schau ich mal nach wo der Fehler genau liegt.

Edit: Gern geschehen ;)
Edit2: Hehe cool 111ter Post %)

Grüße, Morph
 
Also wenn ich das Unlink weglasse, dann kommt keine Fehlermeldung. Es passiert aber dennoch nichts :( .

Gruß,
Thanatos


EDIT: :) :) :)
 
edit.php
PHP:
$datenbank = "blub.txt";

$db_open = fopen($datenbank, "r");
$db_read = fread($db_open, filesize($datenbank));
fclose($db_open);

echo "<form method=\"POST\" action=\"edit_check.php\">\n";
echo "<table>\n";

echo "<tr>\n";
echo "<td width=\"200\"><font face=\"Verdana\" size=\"1\">Irgend nen kurzer Text:</font></td>\n";
echo "<td width=\"200\">\n";
echo "<textarea rows=\"8\" name=\"edit_db\" cols=\"30\" style=\"color: #000000; font-size: 8pt; font-family: Verdana; border: 1px solid #FFFFFF; background-color: #FFFFFF\">$db_read</textarea></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td width=\"200\"><font size=\"1\">\n";
echo "<input type=\"submit\" value=\"Editieren!\" name=\"edit\"></font></td>\n";

echo "<td width=\"200\"><font size=\"1\">\n";
echo "<input type=\"reset\" value=\"Verwerfen\" name=\"verwerfen\"></font></td>\n";
echo "</tr>\n";

echo "</table>\n";
echo "</form>\n";

edit_check.php
PHP:
$datenbank = "blub.txt";

unlink($datenbank);
$db_open = fopen($datenbank, "w+");
fwrite($db_open, $edit_db);
fclose($db_open);

// Hier dann ne weiterleitung, oder nen link zur edit.php hin
Untested - hoffe aber mal, dass es so funzt

Grüße, Morph
 
Zuletzt bearbeitet:
Das ist ja Wahnsinn, wie schnell du so einen Text zusammenbastelst. Vielen Dank, dass du dich so dafür einsetzt.
Achja Ich habe noch einen Knopf zum Abschicken eingebaut...

Ich habe meine Dateien nach deinem Muster umgeschrieben... jetzt rate mal was passiert.... nichts. Vielleicht hast du dafür eine Erklärung. Ich weiss, dass es gehen kann, aber ich weiss eben nicht WIE. Vielleicht funktioniert der die Speicherdatei ja, aber als Text, den er speichern soll, hat er nichts. Er erkennt den Text im Textfeld vielleicht nicht als solchen an. Auch wenn ich etwas hinzufüge (also neuen Text) erkennt er diesen nicht. Die .txt-Datei sieht danach genauso aus, wie davor.
 
Mach ich gerne, hauptsache ich kann helfen...
Das es nicht funzt versteh ich nicht - ich probier das mal eben auf meinem rechner aus ;)

Grüße, Morph
 
Also bei mir gehts. ich hänge die Dateien mal mit an ;)

Grüße, Morph
 

Anhänge

  • edit.zip
    926 Bytes · Aufrufe: 34
Vielen Dank. Ich habe die Dateien von dir einfach mal übernommen und es getestet. Es tat wieder nicht. Dann habe ich einfach mal die .txt-Datei in das gleiche Verzeichnis gepackt und siehe da: es tut ! Ich hatte die .txt-Datei davor in einem anderen Ordner gespeichert, und immer darauf verwiesen. Anscheinend war das der Grund. Jetzt funzt es prächtig. Also nochmals vielen Dank. Du warst mir eine große Hilfe !
Deshalb bekommst du von mir jetzt eine Spitzenbewertung. :)
 

Neue Beiträge

Zurück