phpbar.de logo

Mailinglisten-Archive

[php] Dateizeiger aufsuchen

[php] Dateizeiger aufsuchen

T.Ruschival t.ruschival_(at)_vivid-md.de
Wed, 14 Feb 2001 20:26:03 +0100


Moin, Moin

Ich will eine Textdatei lesen, und ab einer bestimmten Zeile (die ich mir
einem regulären Ausdruck herausfinde) den darauf folgenden ersetzene.
Es ist kein Problem, die Stelle mit ftell() zu speichern.
Wie sage ich allerdings meiner fputs()-Funktion, dass sie den Text ab dieser
stelle ersetzen soll, bisher wird der der neue Text immer am Dateiende
angehängt anstatt er den alten Text ersetzt.
Direkt vor der fputs()-Funktion setzte ich den Dateizeiger mit
fseek($filehandle,$marke).
Hier ist mein kleines Testscript, ich hoffe es hat keine absolut
blödsinnigen Fehler und funktioniert deshalb nicht, sollte dem so sein
bitte steinigt mich nicht...

Danke 
Ruschi

<?
$name= "./text.txt";
$file=fopen($name,"r+");
$inh= split("\n",fread($file,filesize($name)));
    foreach($inh as $line){
        if(ereg("^Marke",$line)){
            $flag1=1;
            $start=ftell($file)+1;
            }
        if($flag1==1){
        $line=str_replace($line,"alt->".$line."\n",$line);
        $oldline[]=$line;
        }        
    }
fseek($file,$start);
    foreach($oldline as $line){
            fputs($file,$line);
    }
fclose($file);
?>



php::bar PHP Wiki   -   Listenarchive