dateien
test
- php
0 Toby0 test
0 Thomas Schmieder0 test0 test0 Thomas Schmieder0 test
Hallo
ich hab ein Problem, und zwar will etwas in eine txt datei schreiben aber an den Anfang der Datei. Alles was danach kommt soll nich überschreiben werden sondern einfach weiterrutschen
kann mir jemand helfen?
Hi,
also ich glaube das dürfte dir weiterhelfen:
http://www.php.net/manual/de/function.fopen.php
Bis denn,
Toby
Hi,
also ich glaube das dürfte dir weiterhelfen:
http://www.php.net/manual/de/function.fopen.php
Bis denn,
Toby
ne sorry tuts nicht
weil egal welches attribut ich nehm (r, w, a...), wenn der zeiger am anfang ist wird alles danach überschrieben ich will aber nicht das des überschreiben wird
wahrscheinlcih muss ichs so machen das ich den Inhalt auslese und dann am neuen Inhalt daranhänge
kann mir vielleicht jemadn sagen wie ich sowas machen kann?wiel mit fgets kann ich immer nur eine zeile auslesen ich will aber alle zeilen
Guten Abend,
da gibts hier schon gaaanz viele Postings dazu.
Zum Verfahren:
Textdatei mit $zeilen=file("textdatei.txt"), einlesen.
Das ergibt in $zeilen ein Array aller Zeilen. Jede Zeile steht in einem Element.
Mit $neueZeilenZahl = array_unshift($zeilen,$neueZeile1[,$neueZeile2]); fügst Du dann eine Zeile ein. Vergiss nicht den Zeilenabschluss (CRLF).
z.B. mit
$ausgabe=implode($zeilen);
$fp=fopen("textdatei.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
kannst Du es dann zurückschreiben.
Man könnte auch eine Schleife auf das Array ($zeilen)legen und mit fputs() arbeiten.
Grüße
Tom
Guten Abend,
da gibts hier schon gaaanz viele Postings dazu.
Zum Verfahren:
Textdatei mit $zeilen=file("textdatei.txt"), einlesen.
Das ergibt in $zeilen ein Array aller Zeilen. Jede Zeile steht in einem Element.
Mit $neueZeilenZahl = array_unshift($zeilen,$neueZeile1[,$neueZeile2]); fügst Du dann eine Zeile ein. Vergiss nicht den Zeilenabschluss (CRLF).
z.B. mit
$ausgabe=implode($zeilen);
$fp=fopen("textdatei.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
kannst Du es dann zurückschreiben.
Man könnte auch eine Schleife auf das Array ($zeilen)legen und mit fputs() arbeiten.
Grüße
Tom
danke für die Hilfe aber es ged immer noch nicht richtig
$zeilen=file("data.txt"); <--meine Datei
$add = $gbname."#".$gbmail."#".$gbhp."#".$gbtext; <--der string
$CRLF = chr(13).chr(10); <--Zeilenumbruch
$add = $add.$CRLF <--str+zeilenumbrunch
array_unshift($zeilen,$add,); <-- hier hab ich nen fehler (parse)
$ausgabe=implode($zeilen); <-- und dann halt wie beschreiben
$fp=fopen("data.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
kann mir nochmla jemand helfen?
Guten Abend,
da gibts hier schon gaaanz viele Postings dazu.
Zum Verfahren:
Textdatei mit $zeilen=file("textdatei.txt"), einlesen.
Das ergibt in $zeilen ein Array aller Zeilen. Jede Zeile steht in einem Element.
Mit $neueZeilenZahl = array_unshift($zeilen,$neueZeile1[,$neueZeile2]); fügst Du dann eine Zeile ein. Vergiss nicht den Zeilenabschluss (CRLF).
z.B. mit
$ausgabe=implode($zeilen);
$fp=fopen("textdatei.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
kannst Du es dann zurückschreiben.
Man könnte auch eine Schleife auf das Array ($zeilen)legen und mit fputs() arbeiten.
Grüße
Tom
danke für die Hilfe aber es ged immer noch nicht richtig
$zeilen=file("data.txt"); <--meine Datei
$add = $gbname."#".$gbmail."#".$gbhp."#".$gbtext; <--der string
$CRLF = chr(13).chr(10); <--Zeilenumbruch
$add = $add.$CRLF <--str+zeilenumbrunch
array_unshift($zeilen,$add,); <-- hier hab ich nen fehler (parse)
$ausgabe=implode($zeilen); <-- und dann halt wie beschreiben
$fp=fopen("data.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
kann mir nochmla jemand helfen?
ach mist
selbst wenn ich das Komma nach $add bei array_unshift weg mach geth es immmer noch nicht
Guten Morgen,
ich habe doch lange überlegen müssen, aber dann habe ich mir meine eigene Ttpp-Liste mal durchgelesen und da stand:
PHP-Fehler:
N, und da war es dann leicht, das zu sehen, was nicht da ist...
$zeilen=file("data.txt"); <--meine Datei
$add = $gbname."#".$gbmail."#".$gbhp."#".$gbtext; <--der string
$CRLF = chr(13).chr(10); <--Zeilenumbruch
$add = $add.$CRLF <--str+zeilenumbrunch
^
da fehlt was ----------+
array_unshift($zeilen,$add,); <-- hier hab ich nen fehler (parse)
^
da ist was zuviel---------------+
$ausgabe=implode($zeilen); <-- und dann halt wie beschreiben
$fp=fopen("data.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
fclose($fp); // habe ich vergessen.Sollte man aber immer schreiben, auch wenn einige meinen "das macht doch das Script am Ende automatisch...".
So, nun funktioniert es hoffentlich.
Grüße
Tom
Guten Morgen,
ich habe doch lange überlegen müssen, aber dann habe ich mir meine eigene Ttpp-Liste mal durchgelesen und da stand:
PHP-Fehler:
- Parse Error wird oft eine Zeile später angezeigt, weil der vorangehenden ein Semikolon fehlt.
- Parse-Error wird für hinter dem Code-Ende angezeigt. Dann fehlt irgendwo oberhalb ein String-Abschlusszeichen.
N, und da war es dann leicht, das zu sehen, was nicht da ist...
$zeilen=file("data.txt"); <--meine Datei
$add = $gbname."#".$gbmail."#".$gbhp."#".$gbtext; <--der string
$CRLF = chr(13).chr(10); <--Zeilenumbruch
$add = $add.$CRLF <--str+zeilenumbrunch
^
da fehlt was ----------+
array_unshift($zeilen,$add,); <-- hier hab ich nen fehler (parse)
^
da ist was zuviel---------------+
$ausgabe=implode($zeilen); <-- und dann halt wie beschreiben
$fp=fopen("data.txt","w");
if ($fp) or die("kann nicht zurückschreiben");
{
$ok=fwrite($fp,$ausgabe,strlen($ausgabe));
}
fclose($fp); // habe ich vergessen.Sollte man aber immer schreiben, auch wenn einige meinen "das macht doch das Script am Ende automatisch...".
So, nun funktioniert es hoffentlich.
Grüße
Tom
au man da hätt ich so auch drauf kommen müssen
also fclose habcih schon am ende stehen ich habs halt ned gepostet
aber danke für die hilfe