Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 12.06.2007, 23:12 Titel: [PHP] Datei von unten nach oben einbinden |
|
|
hi,
ich möchte eine Datei so eibinden, dass der erste eintrag zuletzt da ist. ein eintrag besteht aus einm "<tr><td> Beitrag </td></tr>"
hat jemand rat? _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 12.06.2007, 23:14 Titel: |
|
|
Was mir auf die Schnelle einfällt: Alle Zeilen in ein Array einlesen und dieses dann von hinten nach vorne abarbeiten. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 12.06.2007, 23:21 Titel: |
|
|
Du kannst das Array auch mit array_reverse umdrehen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 12.06.2007, 23:57 Titel: |
|
|
ok.
Code: | <?php
$count = 0;
if ($datei=fopen("#######.##########","r")) {
while (!feof($datei)) {
$Entry[$count] = fgets($datei, 1048576);
$count = $count + 1;
}
} else {echo "Fehler! Konnte Log-Datei nicht öffnen!";}
$result = array_reverse($Entry);
echo "<table border=\"0\">";
for ($i = 1; $i <= count($result); $i++) {
echo $result[$i];
}
//echo $result;
echo " </table>";
?> |
ich weiß net er gibtn nichts aus...  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 13.06.2007, 00:09 Titel: |
|
|
Fehler gefunden + behoben:
fget liest bis zum zeilenumbruch ("/n /r"). den hatte ich vergessen im shoutbox-script reinschreiben zu lassen.
Danke nemored!!! Meine erste Shoutbox ist fertisch + funzt  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.06.2007, 16:47 Titel: |
|
|
um die cpu-belastung niedrig zu halten, solltest du es genau andersrum machen: wenn ein eintrag der shoutbox angefügt wird, nicht UNTEN, sondern OBEN anfügen, dann muss das array net umgedreht werdne. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 13.06.2007, 16:54 Titel: |
|
|
Ein paar Anmerkungen:
Warum zählst du die Einträge ($count = $count + 1), wenn du dann doch die Funktion count(array) verwendest?
Außerdem könntest du auch $count += 1 oder $count++ schreiben, ist etwas knapper.
Statt des Umdrehens des Arrays ginge auch ein Umdrehen der Schleife:
Code: | for ($i = count($Entry); $i > 0; $i--) {
echo $Entry[$i];
} |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
|