PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei laden, Ändern und wieder speischern


Rawi
30.11.2004, 11:57:56
Hallo liebe freunde,


Ich habe einproblem,

ich möchte einer Datei laden z.B(test.txt), nach einen bestimmten String z.B(Servus) durchsuchen, und sie durch String(Hallo) ersetzen,
und schlisslich den (test.txt) wieder speichern...


Danke für ihren Hielfe..

xabbuh
30.11.2004, 12:04:31
Schau dir mal die folgenden Funktionen an:
file_get_contents() (http://www.php.net/file_get_contents) (Inhalt einer Datei einlesen)
strstr (http://www.php.net/strstr) (String in einem String suchen)
stristr (http://www.php.net/stristr) (String in einem String suchen)
str_replace() (http://www.php.net/str_replace) (einen String durch einen anderen String ersetzen)
fopen() (http://www.php.net/fopen) (eine Datei öffnen)
fwrite() (http://www.php.net/fwrite) (in eine Datei schreiben)
fclose() (http://www.php.net/fclose) (eine geöffnete Datei schließen)

Funktionen des Dateisystems (http://de.php.net/manual/de/ref.filesystem.php)

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

Rawi
30.11.2004, 12:08:33
ok, ich werde mich bemöhen
Danke

Rawi
30.11.2004, 12:58:14
Hat jemanden einer CODE dafür.....?

c4
30.11.2004, 13:13:06
Was willst Du denn mit Code??

Kommst Du mit der gegebenen Doku nicht klar?

Rawi
30.11.2004, 13:18:19
nein leider nicht..
ich bekomme mit hielfe das file_get_contents(), gar nichst zurück..

c4
30.11.2004, 13:24:02
Dann zeig uns doch mal Deinen Code...

Rawi
30.11.2004, 13:32:36
ich habe jetzt gerade eigenemassen hinbekommen, ich habe das text in einer Array gespeischert.

$fp=file("test.txt");
for ($i = 0; $i < sizeof($fp); $i++) {
$fp_2 = str_replace("servus", "ersetzen", $fp[$i]);
echo $fp_2."<br>";
}

jetzt meiner Frage,

Muss ich die Alte Datei löschen und die Array als neue datei Speichern
oder wie...?

Danke

xabbuh
30.11.2004, 13:50:08
Hast du dir die Beispiele zu fopen() und fwrite() mal angesehen?
Du musst im Prinzip einfach nur die Datei öffnen, den Inhalt schreiben und die Datei wieder schließen.

Rawi
30.11.2004, 13:56:26
Aber wenn ich einer datei mit fopen(test.txt."w") öffne, dann wird der inhalt alles gelöscht..

c4
30.11.2004, 13:59:55
Original geschrieben von Rawi
Aber wenn ich einer datei mit fopen(test.txt."w") öffne, dann wird der inhalt alles gelöscht.. So, wie es auch in der Doku steht...

Versuch's mal mit a statt w. ;)

Rawi
30.11.2004, 14:03:59
ok.. schu ma mal.

Rawi
30.11.2004, 14:15:18
Danke vielmals jetzt habe ich...

$fp=file("test.txt");
$erstellen = fopen("test.txt","w");
for ($i = 0; $i < sizeof($fp); $i++)
{
$fp_2 = str_replace("hallo", "ersetzen", $fp[$i]);
fwrite($erstellen, $fp_2);
echo $fp_2."<br>";
}

xabbuh
30.11.2004, 14:38:40
fclose($fp) fehlte noch ;-)

Rawi
30.11.2004, 16:25:14
jeo, Danke