sYnTaxx Geschrieben 13. Februar 2003 Teilen Geschrieben 13. Februar 2003 Hallo Leute! Ich habe gleich noch eine Frage... Ich habe mir ein Script geschrieben das einen Inhalt in eine Datei schreibt ( daten.dat ) Nun möchte ich aber das sie immer wieder von vorne Anfängt zu schreiben und nicht Datensätze anhängt... Bisher hab ich das mit "a" gemacht... Wenn ich r+ oder so nehme dann fangt er zwar von vorne an aber überschreibt die alten Daten Wie kann ich das lösen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MsB Geschrieben 13. Februar 2003 Teilen Geschrieben 13. Februar 2003 servus erst die datei auslesen, in einer hilfsvariable sichern, dann die datei mit r+ neu erstellen, den neuen datensatz in die datei und dann den inhalt der hilfsvariable wieder schreiben, ist zwar ein umweg, aber mir fällt sonst auf die schnelle nix ein. so long, MsB Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 13. Februar 2003 Teilen Geschrieben 13. Februar 2003 hi, lies den alten inhalt der datei doch in einen buffer, schreib den neuen zusatz in die datei und häng den alten inhalt dann dahinter... // lesen der alten daten $filesize = filesize("dat/entry.dat"); $file = fopen("dat/entry.dat","r"); $buffer = fread($file,$filesize); fclose($file); // neuer zusatz $neu = "neuer zusatz"; // schreiben der neuen und alten daten $file = fopen("dat/entry.dat","w"); fputs($file, $neu.$buffer); fclose($file); [/PHP] sollte so gehen... ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 13. Februar 2003 Autor Teilen Geschrieben 13. Februar 2003 hm funktioniert irgendwie nicht ?!? naja muss wohl irgendwie anders hinbekommen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 13. Februar 2003 Teilen Geschrieben 13. Februar 2003 hi... <? // lesen der alten daten $filesize = filesize("entry.dat"); $file = fopen("entry.dat","r"); $buffer = fread($file,$filesize); fclose($file); // neuer zusatz $neu = date("H:i:s")."\n"; // schreiben der neuen und alten daten $file = fopen("entry.dat","w"); fputs($file, $neu.$buffer); fclose($file); ?>[/PHP] versuchs mal so, bei mir klappt das oder lad dir die folgenden dateien. ich hab das script und die datei gepackt und auf nen server gelegt... test.zip ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 13. Februar 2003 Autor Teilen Geschrieben 13. Februar 2003 hm ich weis nich wenn ich das übertrage funtzt das net ?!? ich habs jetzt nochmal anderster gemacht ohne diesen put befehl aber das geht auch net da ersetzt er einfach die alten einträge mit dem neuen ?!? => $daten="Eintrag von $name"; // Neue "Daten" $datenbank = "daten.dat"; $datei = fopen($datenbank,"r"); $hvar = fread($datei,$datenbank); // Alte Daten einlesen... fclose($datei); $datei = fopen("$datenbank","r+"); // Neue Daten reinschreiben ( alles überschreiben ) fwrite($datei, $daten); fclose($datei); $datei = fopen("$datenbank","a"); // Alte Daten an die neuen Anhängen... fwrite($datei, $hvar); fclose($datei); <= wieso geht das net?!? hmpf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 13. Februar 2003 Teilen Geschrieben 13. Februar 2003 $hvar = fread($datei,$datenbank); // Alte Daten einlesen... hier liegt der fehler: fread ( resource handle, int length) und nicht fread ( resource handle, string file) versuchs mal so: <? $name = "Test"; $daten="Eintrag von $name"; // Neue "Daten" $datenbank = "daten.dat"; $groesse = filesize($datenbank); // filegroesse ermitteln $datei = fopen($datenbank,"r"); $hvar = fread($datei, $groesse); // Alte Daten einlesen... $groesse als argument fclose($datei); $datei = fopen("$datenbank","w"); // Neue Daten reinschreiben ( alles überschreiben ) fwrite($datei, $daten); fclose($datei); $datei = fopen("$datenbank","a"); // Alte Daten an die neuen Anhängen... fwrite($datei, $hvar); fclose($datei); ?>[/PHP] ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sYnTaxx Geschrieben 13. Februar 2003 Autor Teilen Geschrieben 13. Februar 2003 k funtzt danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.