• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.txt Datei rückwärts auslesen

HTMLooser

Neues Mitglied
hallo

ich wollte mir einen kleinen chatroom auf meiner homepage anlegen, was auch inzwischen fast problemlos funktioniert.
aber nun hab ich das problem, dass dadurch dass die seite sich automatisch reloadet,
man die unteren beiträge nicht lesen kann, weil beim nächsten reload die sicht wieder auf den obersten, ersten beitrag fällt.
nun möchte ich, dass der neueste beitrag immer als oberster angezeigt wird.
da es beim schreiben nicht so gut klappt, will ich es nun mit file_reverse versuchen, weiß aber nicht wie ich es auf meinem beispiel anwenden könnte.

kann mir da jemand helfen?

mein code:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <title>Anzeigefester</title>
<meta http-equiv="refresh" content="1; URL=anzeigefenster.php"> 
</head>
<body>
<?php
    $datei = file("beitraege.txt"); 
 foreach ($datei AS $ausgabe)
   {
   $zerlegen = explode("|", $ausgabe);
   echo "<i>$zerlegen[0]<br/>$zerlegen[1]</i><br>
         <b>$zerlegen[2]</b> <hr/>";
   }  
 ?>
</body>
</html>

und eine .txt datei, in der $datum|$name|$kommentar\n gespeichert wird
 
Werbung:
PHP: array_reverse - Manual
sollte dir die Antwort geben. Du gibst das Ursprungs-Array an, und erhälst es in umgekehrter Reihenfolge wieder.

Hätte da aber noch ne Frage zu deinem Chat:
Was, wenn einer deiner Chatter ein "|" eingibt? Ich denke, dann würde das ganze System nicht mehr funktionieren. mein Tipp: Greif zu Datenbanken!

LG
 
das stimmt wohl, aber mein chat soll eher privat sein, und wie ich meine pappenheimer kenne wüssten die auf anhieb nicht mal wo "|"
liegt.
eigentlich würde mir auch eine funktion reichen, bei der beim aktualisieren die sicht automatisch auf das untere ende des frames oder der seite fällt.
 
Werbung:
Schon mit array_reverse() versucht?

Automtisches Scrollen der Seite nach unten ist durch JavaScript realisierbar.
 
array_reverse meinte ich glaube ich auch. ich hab gegoogelt aber den genauen begriff vergessen (:???:).
aber das hat sich jetzt auch schon mit javascript erledigt, auch wenn ich lieber bei html, php und css bleibe.
mein jetziger code, falls das hier über google gefunden wird:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <title>Anzeigefester</title>
<meta http-equiv="refresh" content="1; URL=anzeigefenster.php">
<script type="text/javascript">
  <!--
window.onload = function(){
  window.location.hash = "lastLine";
}
 //-->
</script>
 
</head>
<body>
<?php
    $datei = file("beitraege.txt"); 
 foreach ($datei AS $ausgabe)
   {
   $zerlegen = explode("|", $ausgabe);
   echo "<i>$zerlegen[0]<br/>$zerlegen[1]</i><br>
         <b>$zerlegen[2]</b> <hr/>";
   }  
 ?>
<div id="lastLine"> <hr/> </div>

</body>
</html>

PS:
Wie schließt man ein Thema?
 
Hmm, naja, ich hätte die NON-JS Lösung auch schöner gefunden. ;)

Ein Thema kann man glaube ich schliessen, indem man den Start-Thread im "Erweitert"-Bereich bearbeitet. (Dort ist ein Häckchen oder so, kann aber auch sein, dass es deaktiviert wurde)
 
Werbung:
Zurück
Oben