Inhalt der txt in eine andere txt schreiben

Nucleus

Erfahrenes Mitglied
Weiß jemand wie man den inhalt von einer datei in eine andere speichern kann ?
Habs auch aber es funkt bei mir nicht so richtig hab irgendwo einen fehler gg oder gibts da ne einfacher methode ?
inhalt is in einer txt und zwar so

dadad
asdasd
asdasdasd
asdasd
asdasd
asdas
dasdas
dasd
asdas
dasdasd
dasdasd

PHP:
$id_loeschen = 13; // ID = 5 

unlink("data2.txt");//Löscht die Datei
$inhalt=file("data.txt","r"); //Liest die Datei ein

$s = count($inhalt) ; //Inhalt wird gezählt
for ($i =-1; $i<$id_loeschen-1;$i++){ //Alle Daten werden aufgelistet
$krach = explode("#",$inhalt[$i]); 

$new=$krach[0];
echo "$new";
// Hier werden die Zahlen gespeichert
$fp = fopen("data2.txt","a");

$data = "$new\r\n";

fputs($fp,$data);
fclose($fp);
}
 
//#################################
// Ab hier gehtseintraege

$inhalt2=file("data.txt","r"); 
$i=0; 

$s2 = count($inhalt2) ; 
for ($i = $id_loeschen; $i<$s2;$i++){ 
$krach2 = explode("#",$inhalt2[$i]); 


$new2=$krach2[0]-1;
echo "$new2<br>";
//Datei löschen

// Hier werden die Zahlen gespeichert
$fp = fopen("data2.txt","a");
$newinhalt = "$new2\r\n";

fputs($fp,$newinhalt);
fclose($fp);
}

// #######################################

// Ab hier gehtseintraege

$inhalt3 = file("data2.txt","r"); 
$i = 0;

$s3 = count($fp) ; 
for ($i =$id_loeschen; $i<$s3;$i++){ 

$krach3 = explode("#",$inhalt3[$i]); 
$new3=$krach3;
echo "Das istr der wert der gespeichert werden soll :$new3<br>";
// Hier werden die Zahlen gespeichert
unlink("data.txt");
$fp = fopen("data.txt","a");
$newinhalt3 = "$new3\r\n";

fputs($fp,$newinhalt3);
fclose($fp);
}
 //nur für die überprüfung
echo "################Inhalt der Data .txt###########################<br>";
readfile("data.txt");
echo "<br>";

echo "#################Inhalt der data2.txt#########################<br>";
readfile ("data2.txt");
 
Warum so kompliziert, das geht viel einfacher!;), mach es doch einfach so:


<?php
$fp1 = fopen("data1.txt","r"); //Originaldatei öffnen
$fp2 = fopen("data2.txt","w"); //Datei zum schreiben öffnen
flock($fp2,2); //Schreibdatei für andere
// anwendungen sperren

if ($fp1)
{
while (!feof($fp1)) //Schleife wird wiederholt,
//solange die Quelldatei nicht
//zuende ist
{
$zeile = fgets($fp1, 1000); //Zeile aus data1.txt lesen
fputs ($fp2, $zeile); //Zeile in Data2.txt schreiben
}
fclose($fp1); //erste Textdatei schliessen
flock($fp2,3); //Schreibdatei entsperren
fclose($fp2); //Schreibdatei schliessen
}
?>


Das ist alles, so einfach ist es! Wenn du es schöner Programmieren willst, dann kannst du erst noch prüfen ob die Datei existiert!

PS: Sollte der Tipp funzen, dann Bewerte ihn doch bitte
 
danke ich werd mir das mal anschauen - warum es so kompliziert ist naja weil schon ein teil vom programm dabei ist sonst hätte ich es eh einfacher gemacht - aber danke ich werd mal einiges ausprobieren thx thx
 
Sers,
so jetzt hab ich noch ein problem wenn ich auf aktualisieren drück macht er das die ganze zeit und ändert dadurch die daten. Wie kann man das unterbinden ?

Will aber die txt datei nicht löschen.
 
Zurück