Datei bearbeiten

Alles, was PHP betrifft, kann hier besprochen werden.

Datei bearbeiten

Postby Heini_net » 23. November 2004 18:43

hi leutz..

wie kann man am besten ein bestimmtes wort in einer datei löschen ohne die ganze datei überschreiben zu müssen?

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 23. November 2004 18:51

Gar nicht
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 23. November 2004 18:55

gut. wie kann man eine datei überschreiben ?
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 23. November 2004 19:15

Wie liest du denn eine Datei ein mit PHP?

Im Manual ist zu diesem Befehl bestimmt auch der umgekehrte Befehl aufgeführt (Datei schreiben).

Wichtig ist hier nur, in welchem Modus du eine Datei öffnest.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 23. November 2004 19:52

$fp = fopen("C:/test.txt","r");
$fp = str_replace($word, "", "$fp");
fclose($fp);

und die datei soll dann mit $fp überschrieben werden..

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 23. November 2004 20:03

Mit diesen Befehlen hast du die Datei aber noch nicht mal eingelesen...
Ohne Fehler kann hier eigentlich nur die 1. Zeile ausgeführt werden.

Die Doku und Beispiele zu diesen Befehlen hast du dir aber im Manual angeschaut?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 23. November 2004 20:20

jo hab folgende seite zu gefunden.. http://de3.php.net/fopen

und jetzt gerad festgestellt das ich die file nur geöffnet habe..

ich hab einen tipp auf diesen link bekommen. aber ich glaub die methode ist umständlicher:

http://www.php-faq.de/q/q-datei-einfuegen.html

was muss ich nu alles machen damit der textinhalt in eine variable geladen wird und die datei hinterher damit überschrieben wird?

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 23. November 2004 21:21

Ach Heini ;-)

was muss ich nu alles machen damit der textinhalt in eine variable geladen wird

http://de.php.net/manual/en/function.fread.php

und die datei hinterher damit überschrieben wird?

http://de.php.net/manual/en/function.fwrite.php

Wobei man das einlesen auch mit:
http://de.php.net/manual/en/function.fgets.php
machen kann.

Das genannte Beispiel ist nicht umständlich, sondern sicher und steht aus gutem Grund auf dieser Webpage ;-)

Das zeilenweise Einlesen mit fgets() und dirktes schreiben der Zeile spart auf jeden Fall Speicher.

Welche Methode bei dir besser ist kommt eigentlich nur darauf an, auf welche Weise du das zu ersetzende Wort finden willst?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 23. November 2004 21:50

im prinzip ist es ne liste mit IPs.. die mit ner sql datenbank abgeglichen werden.... file handlings war noch nie so mein ding.. find datenbanken komfortabler.. :roll:

danke für die ausführliche hilfe.. werde morgen versuchen das zeug zusammen zu tüfteln..

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Heini_net » 24. November 2004 17:14

hi..

ich blick irgendwie nicht durch, wie ich eine zeile in einer datei lösche..

soll ich den ganzen inhalt einlesen , rausfiltern , datei leeren und dann den inhalt wieder auf der datei speichern ? oder gibts noch ne andere möglichkeit ?

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Heini_net » 24. November 2004 21:21

hm.. hat keiner mehr nen vorschlag bzw. tipp ?

mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 24. November 2004 21:26

im prinzip ist es ne liste mit IPs.. die mit ner sql datenbank abgeglichen werden....

Beschreib das mal genau.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 24. November 2004 21:43

ich hab ein programm was eine textdatei auslist in der sich IP's befinden.. damit die IP's eingetragen werden muss sich der user auf einer webseite einloggen und die Ip's werden parallel in der textdatei und mysql datenbank abgesichert.. zusätzlich soll ein script in der datenbank überprüfen ob ip's länger als eine bestimmte zeit alt sind und sie dann in der datenbank und datei löschen.

brauche nur noch nen code mit der sich die datei leeren lässt und nen variableninhalt in der datei speichern lässt.

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Postby Wiedmann » 24. November 2004 22:00

Dann mal ein paar Fragen:

ich hab ein programm was eine textdatei auslist in der sich IP's befinden..

Also weisst du ja wie man eine Datei ausliest? Schreiben / Überschreiben geht ja genau andersherum.

damit die IP's eingetragen werden muss sich der user auf einer webseite einloggen und die Ip's werden parallel in der textdatei und mysql datenbank abgesichert

Das mit dem Eintragen in die Textdatei hast du auch schon? Dann versteh ich gar nichts mehr...

brauche nur noch nen code mit der sich die datei leeren lässt und nen variableninhalt in der datei speichern lässt.

Naja, schreiben geht umgekehrt wie lesen. Wie liest du denn? Leeren muss man da nichts, du überschreibst die Datei einfach.


Und jetzt noch ein paar Anmerkungen:
Wenn du schon eine Datenbank einsetzt, wieso dann überhaupt noch eine zusätzliche Textdatei?

User nach IP's zu unterscheiden, sollte man zudem höchstens im LAN machen. Im Inet ist das ziemlich unsicher und fehlerträchtig (können ja z.B. mehrere Benutzer die selbe IP haben oder zwischen durch eine Neueinwahl stattfinden...)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Heini_net » 24. November 2004 22:08

ich verwende deshalb die datei, weil es sich nur umständlich vb mit mysql verbinden lässt.. im prinzip hab ich es schon hinbekommen einen eintrag in einer datei hinzuzufügen.. möchte jedoch nur noch nen eintrag löschen.. oder datei leeren und dann den gefilterten inhalt wieder einfügen.. .. bisher hab ich nur das "hinzufügen" hinbekommen.,

Mfg. Heini
User avatar
Heini_net
 
Posts: 520
Joined: 25. July 2003 15:43
Location: hier

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests