fget problem

BigFacker

Erfahrenes Mitglied
moisosn...

so, und zwar möchte bzw. muss ich folgendes machen, ich schreibe grad ein Gästebuch (jaja, nocheins:)), und ich will, das jeder Eintrag an den Anfang der textdatei geschrieben wird und der Rest hinten dran.

Dafür muss ich erst die komplette Datei in eine Variable einlesen, dann die Datei leeren, den neuen Eintrag reinschreiben und zu guter letzt die geüllte Variable mit dem ehemailgen Inhalt wieder dranfügen. So, dass alles is ja kein Thema, nur habe ich Probleme mit dem einlesen der Datei in die variable.
Bei wenigen Einträge ist das überhaupt kein problem, aber wenn man dann aufeinmal 30 beiträge hat, zeigts nur 10 an, weil man mit fgets ja nur 1000 Zeichen einlesen kann.

So: nun die Frage. Wie ist es möglich, das man eine kompletten Dateiinhalt in die Variable eiliest und nicht nur die ersten Zeichen oder bis zu einer gewissen Größte. Aldso immer, egal wie groß die Datei ist, einlesen.


OK, Ich hoffe Ihr wisst da was:)
DANKE SCHONMAL!!!!

bis denne
bigfacker
 
anstatt fgets() solltest du einfach fread() benutzen ;-)

ein beispiel:

PHP:
$filename = "/usr/local/simi.txt";
$fd = fopen ($filename, "r");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
 
Moisosn...

Jope diese methode hab ich auch probiert, geht aber auch nur bis 4 KB oder so, den Rest nimmt er nicht mehr...

Ich habs jetzt mit file() gemacht, da wird die komplette datei eingelesen...

DANKE trotzdem!
 
Mit fread() kann man Binärdaten aus einer Datei (fp) lesen. Der zweite Parameter für die Länge (length) bestimmt, wie viel der Datei gelesen werden soll (max. bis zum Dateiende).

also eigentlich sollte das auch gehen, da du ja mit file() die daten in ein array einliest...

aber wenns geht, is ja kein problem ;-)
 
Zurück