Was prinzipielles:
du kannst bei datein nur folgendes machen:
Lesen, Anhängend schreiben, löschen.
willst du also was ändern musst du die gesamte datei neu schreiben.
(das geht auch ohne das du ne neue datei dafür verwendest und dann nur kopierst.
ich schreib mal mehr oder weniger pseudo code um die die funktin zu verdeutlichen:
myfile enthält zb.
1;max muustermann;musterstrasse;musterstadt
2;foo;bar;foobar
jetzt wollte ein user den eintrag foo;bar;foobar ändern,
$cid=2; // id die geändert gehört
$adressen=file("myfile.csv");
for($i=0;$i<count($adressen);$i++){
$ad_array=explode(";",$adressen[$i]);
if($ad_array[0]==$cid){
$ad_array[1]="neuer name";
$ad_array[2]="neue strasse";
$ad_array[3]="neuer ort";
}
$newfile[]=$ad_array;
}
$f=fopen("myfile.csv");
for($i=0;$i<count($newfile);$i++){
fputs($f,$newfile[$i]."\n");
}
fclose($f);
---------------
Man bräuchte die 2te schleife nicht unbedingt, man könnte auch eine neue var gleich mit den werten füllen und gleich schreiben, aber ich denke es ist so mal übersichtlicher.
lg
Ludwig