Daten empfangen und über PHP in Textdatei schreiben

Domsi

Erfahrenes Mitglied
Ich empfange meine Daten aus einen Textfeld in Flash, und speichere sie in meine textdatei hinein!

So mein Problem ist das: Es klappt das php es in die Textdatei reinschreibt, nur leider hab ich keine ahnung wie es funktioniert das in der Textdatei der Text hinzugefügt wird zum alten und nicht einfach alles überschreibt!
Es sollte so beim ersten mal aussehen
Code:
&daten=Mein erster Text
und beim zweitenmal so
Code:
&daten=Mein zweiter Text
Mein erster Text

und immer so weiter

Ich wollte auch schon auf php.net suchen aber ich hab keine ahnung was das für ein Befehl sein soll.

mein php script:
PHP:
<?php
$filelocation="counter.txt";  
$newfile = fopen($filelocation,"r+");
$add = "&daten=$namet";//namet ist die variable die von Flash gesendet wird
fwrite($newfile, $add);
fclose($newfile);
include($filelocation);
?>

Kann mir da jemand bitte helfen.
Danke im vorraus

edit: Noch eine Frage was macht das include() ? Hab auf php.net geschaut aber das auch nicht kapiert.
 
Zuletzt bearbeitet:
PHP:
<?php 
$filelocation="counter.txt";
$content=file_get_contents($filelocation);
$newfile = fopen($filelocation,"w"); 
$add = "&daten=$namet\n".$content;//namet ist die variable die von Flash gesendet wird 
fwrite($newfile, $add); 
fclose($newfile); 
?>
So würde ich das machen.
Zuerst lädst du den bisherigen Inhalt der Datei als String in eine Variable. Danach öffnest du die Datei neu und setzt sie auf 0 (geschieht durch das w).
Dann setzt du denn neu hinzukommenden Text mit einem \n am Ende (erzeugt in der Textdatei einen Zeilenumbruch) vor den bisherigen Inhalt.
Als letztes schreibst du den gesamten neuen Inhalt in die Datei und schließt diese anschließend.
Wieso du das include() da drin hattest, weiß ich nicht.
Normalerweise benutzt man das dazu Konfigurations-Dateien oder eben andere PHP Dateien (die Code enthalten, der eventuell noch in anderen Skripten benutzt werden soll) zu laden.

Ich hoffe, dass ich hier alles richtig beschrieben hab.
Wenn nicht, dann berichtigt mich :)
 
Ja danke das funktioniert fast, nur das problem ist dieses, es wird immer wieder hinzugefügt!
In der Datei siehts jetzt so aus
Code:
&daten=Mal schauen ob das so klappt
&daten=
&daten=HAha das ist mein test
&daten=+ASO AOS ASO
a wahnsinn schief

ist auch klar es wird ja alles aus der txt rausgeholt und gespeichert, und dann wird wieder ein neus &daten= hinzugefügt, das will ich aber nicht, es soll nur ganz oben ein &daten= stehen und dann nur der text so wie im ersten beitrag gezeigt.

Aber danke das du mir schon mal soweit geholfen hast
 
Sorry, das versteh ich nicht ganz. Was soll denn der Sinn davon sein? :?
Naja, aber wenn du das unbedingt so haben willst, dann würde ich das entweder mit str_replace() machen:
PHP:
<?php 
$filelocation="counter.txt"; 
$content=file_get_contents($filelocation); 
$content=str_replace("&daten=","",$content);
$newfile = fopen($filelocation,"w"); 
$add = "&daten=$namet\n".$content;//namet ist die variable die von Flash gesendet wird 
fwrite($newfile, $add); 
fclose($newfile); 
?>
#
oder dann eben mit substr(). Da müsstest du dann erst die Länge des strings mit strlen() ermitteln und dann eben den substring ab dem 6ten (oder 7ten?) Zeichen bis zum Ende des Strings nehmen.
 
danke jetzt klappt es, und es freut mich weil endlich kapier ich auch mal den code!

Juhu danke.

Ja der sin ist, ich hab so news auf meiner seite, ich hatte bisher die news per hand in die textdatei geschrieben, und jetzt wills ich per php. Und meine flash-datei holt sich den news-text aus der Textdatei. Jetzt klappt das danke
 
Da ist noch ein Problem das mit grad aufgefallen ist!

wenn beim aller ersten Eintrag, und die txt noch ganz lehr ist, wird immer dieses "" ganz unten in die txt geschrieben und dadurch steht das dann immer irgend so ein kästchen bei den news drinnen.

Durch was kommt das zustande und wie behebt man das?
 
Zurück