zeilen aus textdatei auslesen
zeilen aus textdatei auslesen
Hallo,
ich möchte gerne die letzten 23 Zeilen einer Textdatei auslesen...
Ich würde liebend gerne die ersten 23 zeilen hohlen das wäre mit einer schleife schnell gemacht, aber mit php kann man in txtdateien nur text ans dateiende einfügen, somit brauch ich die letzten 23 zeilen...
Leider hab ich keine Ahnung wie ich da vorgehen muss, damit ich die letzen 23 zeilen bekomme.
Wäre sehr dankbar für Hilfe
Ambience
ich möchte gerne die letzten 23 Zeilen einer Textdatei auslesen...
Ich würde liebend gerne die ersten 23 zeilen hohlen das wäre mit einer schleife schnell gemacht, aber mit php kann man in txtdateien nur text ans dateiende einfügen, somit brauch ich die letzten 23 zeilen...
Leider hab ich keine Ahnung wie ich da vorgehen muss, damit ich die letzen 23 zeilen bekomme.
Wäre sehr dankbar für Hilfe
Ambience
-
- Mitglied
- Beiträge: 252
- Registriert: 10.11.2005 12:30
Doch, das geht, aber etwas umständlicher:Ambience hat geschrieben:aber mit php kann man in txtdateien nur text ans dateiende einfügen, somit brauch ich die letzten 23 zeilen...
Zuerst den Dateiinhalt in eine Variable speichern, dann die neuen Daten und dahinter die alten Daten speichern, zB so:
Code: Alles auswählen
file_put_contents("blabla.txt", "$neue_daten\r\n$alte_daten");
PS: Zu groß sollte die Datei natürlich nicht sein...
phpBB.de: link:Suche || link:doku || link:FAQ || link:KB || KB-Übersicht
außerdem: Google || Wikipedia || SelfHTML
außerdem: Google || Wikipedia || SelfHTML
hmm naja, wenn das die einzige möglichkeit ist...
ist eine txt datei eines chattes.. denke ca. 1MB wird die groß.. hab mir da noch keine gedanken gemacht ab wann ich anfang zu löschen.. erstmal die richtigen einträge haben will^^
edit:
hab es so versucht, scheint aber nicht zu funktionieren 
hab erst alle nachrichten geholt und in ein array... danach die neue nachricht erstellt... im foreach dann die neue nachricht am anfang und die alten am schluss... scheint aber nicht zu funktionieren.
Ambience
ist eine txt datei eines chattes.. denke ca. 1MB wird die groß.. hab mir da noch keine gedanken gemacht ab wann ich anfang zu löschen.. erstmal die richtigen einträge haben will^^
edit:
Code: Alles auswählen
$handle = fopen('../messages/m_main.txt', 'r');
while($zeile = fgets($handle, 4096))
{
$messages[] = $zeile . "\n\r";
}
$put_content = time() . '|' . $name . '|' . htmlspecialchars($message) . "\n\r";
foreach ($messages as $message)
{
$put_content .= $message;
}
fclose($handle);
file_put_contents('../messages/m_main.txt', $put_content);

hab erst alle nachrichten geholt und in ein array... danach die neue nachricht erstellt... im foreach dann die neue nachricht am anfang und die alten am schluss... scheint aber nicht zu funktionieren.
Ambience
-
- Mitglied
- Beiträge: 252
- Registriert: 10.11.2005 12:30
Hallo,
kann mir das nicht wirklich erklären, aber versuch vielleicht ma so:
Schöne Grüße
kann mir das nicht wirklich erklären, aber versuch vielleicht ma so:
Code: Alles auswählen
$file_content = file_get_contents("../messages/m_main.txt");
$file_add_content = time() . "|" . $name . "|" . htmlspecialchars($message) . "\r\n";
$file_content = $file_add_content . $file_content;
if(file_put_contents("../messages/m_main.txt", $file_content)) {
echo "Daten erfolgreich in Datei geschrieben.";
}
phpBB.de: link:Suche || link:doku || link:FAQ || link:KB || KB-Übersicht
außerdem: Google || Wikipedia || SelfHTML
außerdem: Google || Wikipedia || SelfHTML
-
- Mitglied
- Beiträge: 252
- Registriert: 10.11.2005 12:30
Was genau macht er denn? Irgendwelche Fehlermeldungen, gibt er irgendwas anderes aus, wie sieht die Textdatei danach aus,...?Ambience hat geschrieben:da speichert er auch nixmehr
mfg
phpBB.de: link:Suche || link:doku || link:FAQ || link:KB || KB-Übersicht
außerdem: Google || Wikipedia || SelfHTML
außerdem: Google || Wikipedia || SelfHTML
Mal abgesehen, daß nicht Stream-basierte Chats sowieso recht viel Performance kosten und daher sogar bei einigen Providern verboten sind, solltest du zwecks einfacherer Synchronisierung lieber eine Datenbank verwenden. Du kannst dir ja z.B. mal mein SimpleChat angucken.
KB:knigge
schau gleich mal..
hab schon nur mal beim quellschaun nen fehler in der config.php gefunden:
idmod muss da glaubeich ismod heißen.
edit: Boar muss den erstmal zum laufen bringen.. der ist ja buggy.. xD Kommt immer kein Namen angegeben odersowas... lol..
edit: wenn ich auf datenbankumstelle... was ist performanter? Sqlite oder Mysql ? würde persönlich Sqlite vorziehen weil ich gerne php5 nutzen würde.
hab schon nur mal beim quellschaun nen fehler in der config.php gefunden:
Code: Alles auswählen
$ban_require=idmod;
edit: Boar muss den erstmal zum laufen bringen.. der ist ja buggy.. xD Kommt immer kein Namen angegeben odersowas... lol..
edit: wenn ich auf datenbankumstelle... was ist performanter? Sqlite oder Mysql ? würde persönlich Sqlite vorziehen weil ich gerne php5 nutzen würde.
-
- Mitglied
- Beiträge: 252
- Registriert: 10.11.2005 12:30
Hallo,
wenn du die Daten auch in eine Datenbank schreiben kannst, ist das natürlich besser.
Schöne Grüße
wenn du die Daten auch in eine Datenbank schreiben kannst, ist das natürlich besser.
Was spricht gegen MySQL + PHP5? SQLite ist dateibasiert - schreibt also wieder in eine Datei - weshalb bei Schreibvorgängen die ganze Datenbank gesperrt wird. Wenn du also viele Schreibzugriffe hast (und ich denke bei Chats ist das so), ist mit ziemlicher Sicherheit MySQL schneller.Ambience hat geschrieben:wenn ich auf datenbankumstelle... was ist performanter? Sqlite oder Mysql ? würde persönlich Sqlite vorziehen weil ich gerne php5 nutzen würde.
Schöne Grüße
phpBB.de: link:Suche || link:doku || link:FAQ || link:KB || KB-Übersicht
außerdem: Google || Wikipedia || SelfHTML
außerdem: Google || Wikipedia || SelfHTML
Hallo,
also ich hab jetzt mal verschiedene Chatsysteme getestet
kann ich nur sagen... Alle mit seitenreload, kein gescheides ajax drinne..
Nunja, mit Datenbank, da hab ich das problem, das in der zeit während mein ajax content reloaded kurz ein flackern auftritt... dieses finde ich wirklich schlimm... Ich werde es wohl bei Textdatei belassen....
Hmm java sollte man können xD...
Ambience
also ich hab jetzt mal verschiedene Chatsysteme getestet

Nunja, mit Datenbank, da hab ich das problem, das in der zeit während mein ajax content reloaded kurz ein flackern auftritt... dieses finde ich wirklich schlimm... Ich werde es wohl bei Textdatei belassen....
Hmm java sollte man können xD...
Ambience