PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mit dateien umgehen



nixlike
03-11-2010, 21:51
hi

dieses mal such ich mehr oder weniger eine kurze information wie man mit dateien umgeht, also aus dateien liest, in sie schreibt, wie man dinge darin sucht, zeichen, zeichenketten und zeilen ersetzt oder löscht.

wenn mir hier jemand kurz eine einführung geben kann und möchte oder aber verständliche verweise in form von links zu verfügung stellt wäre ich sehr dankbar :)

quinte17
04-11-2010, 14:08
http://www.php.net/manual/de/book.filesystem.php
fopen
fread
fwrite
fclose
fseek
sind wohl die funktionen die du dir mal anschauen könntest...

nixlike
04-11-2010, 17:00
hab mich mal durchgelesen (fopen, file, fread, fwrite, fclose sind soweit klar), konnte aber soweit nicht wirklich informationen auffinden wie man inhalte in dateien sucht und diese dann ersetzt.

und noch eine kleine frage hinzu ob dieser gedankengang korrekt ist: einfügen von neuen informationen (zeichen, zeilen, wie auch immer) an einer bestimmten position erfolgt indem ich mir eine bestimmte (immer freie?) position raussuche und dann dort hineinschreibe?

was ich vorhabe ist eine config-datei zu bearbeiten die in sektionen aufgeteilt ist und multiplen definitionen beinhaltet, hab bisher nichts gemacht mit dateien und php noch, also ganz anfänger :/

quinte17
04-11-2010, 18:16
am besten du probierst es einfach aus. was kann dabei schon schief gehen?
als denkanstoß: wie suchst du denn in einem string eine zeichenkette? und wie ist diese frage auf eine datei anwendbar?

nixlike
04-11-2010, 18:36
probieren tu ich auf jeden fall gerne, dazu muss ich nur wissen wie ;)
wie ich strings in chars suche? eigentlich per preg_match, versteh nur gerade nicht inwieweit das mit suche/ersetzen in dateien zu tun hat :/ wie gesagt, so erfahren bin ich nicht und brauch da oft mal den stoß in die richtige richtung bzw. eher code-beispiele mit erklärungen

dml
05-11-2010, 11:28
Leider ungeprüft:


$fp = fopen($datei,"r");

#utf8_decode($fp);
if ($fp){
while (!feof($fp)){
if(strpos(fgets($fp), "xxx") !== false){
echo "gefunden!<br>";
}
}
fclose($fp);
}

Doch so müsste es funktionieren.

nixlike
06-11-2010, 18:40
sollte das mehr machen als nur suchen und ausgeben, dass das gesuchte gefunden wurde? bin nach wie vor unschlüssig wie ersetzen, neu eintragen usw vorangeht

dml
10-11-2010, 15:50
Na, wenn das Muster "xxx" mit

if(strpos(fgets($fp), "xxx") !== false){
gefunden wurde kann die Zeile mit

str_replace ( "xxx" , "neu" , $fp );
ändern.
Nähere Informationen erhälts Du unter:
fgets (http://www.php.net/manual/de/function.fgets.php)
strpos (http://www.php.net/manual/de/function.strpos.php)
str-replace (http://www.php.net/manual/de/function.str-replace.php)