PHPMaxx: Zeilen auslesen von unten?

Hi,

ich möchte bestimmte Zeilen einer Datei auslesen und ausgeben. Leider verschieben sich die betreffenden Zeilen von oben immer wieder. Kann ich die Zeilennummern auch von unten zählen?
So habe ich das jetzt.

  
$datei = ($_SERVER['DOCUMENT_ROOT']."/archives.html"); // Name der Datei  
  
$array = file($datei); // Datei in ein Array einlesen  
// Zeilen auslesen  
$text = "  
<ul>  
<li>$array[101]</li>\n  
<li>$array[107]</li>\n  
<li>$array[113]</li>\n  
<li>$array[119]</li>\n  
<li>$array[125]</li>\n  
<li>$array[131]</li>\n  
<li>$array[137]</li>  
</ul>\n";  
  
// Ausgabe  
echo $text;  
?>
  1. Hey PHPMaxx,

      
    $datei = ($_SERVER['DOCUMENT_ROOT']."/archives.html"); // Name der Datei  
      
    $array = file($datei); // Datei in ein Array einlesen  
    $array = krsort($array) // Array keys ordnen,DESC  
    $array = array_values($array) // Array keys neu durchnummerieren  
    
    

    Kurzform:

    $array = array_values(krsort(file(($_SERVER['DOCUMENT_ROOT']."/archives.html"))))

    Der Code ist nicht getested ;), könnte Tippfehler enthalten.

    Gruß Zeddix

    1. Ups, zu schnell geschrieben....

      array_reverse macht den Job natürlich in diesem Fall schneller/einfacher.

      $array = array_reverse  
      ($array)
      

      Gruß Z€ddix

      1. He Z€ddix,

        danke für die schnelle Hilfe, das hat geholfen!!

        Schönes WE dir
        PHPMaxx

  2. count($array) sagt dir doch wie groß dein Array ist. Die Anzahl minus 1 ist dann das letzte Element.

  3. Lieber PHPMaxx,

    was ist es eigentlich, das Du tatsächlich erreichen willst?

    <ul>
    <li>$array[101]</li>\n
    <li>$array[107]</li>\n
    <li>$array[113]</li>\n
    <li>$array[119]</li>\n
    <li>$array[125]</li>\n
    <li>$array[131]</li>\n
    <li>$array[137]</li>
    </ul>\n";

    Das scheint mir doch eine sehr willkürliche Auswahl an Zeilen eines Arrays zu sein. Was steckt dahinter? Mich beschleicht nämlich das Gefühl, dass man das wesentlich besser machen kann...

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix

      Das scheint mir doch eine sehr willkürliche Auswahl an Zeilen eines Arrays zu sein. Was steckt dahinter? Mich beschleicht nämlich das Gefühl, dass man das wesentlich besser machen kann...

      Ich möchte die Titel der letzten 6 Beiträge einer html-Seite auslesen und auf meine übrigen Seiten kopieren (Menü "Letzte Beiträge" meines Blogs). Die Zeilen stehen immer mit 6 Zeilen Abstand (dummerweise mitten) in der Datei, sodass sich immer was verschieben könnte. Von unten zu zählen bringt aber den wenigsten "Ärger". Ich hatte schon überlegt, die Zeilen nach Wörten zu filtern, weil jede der 6 Zeilen das Wort "entry" enthält. Hab aber dafür z.Z. keine Idee.

      Viele Grüße
      PHPMaxx

      1. Hi!

        Ich möchte die Titel der letzten 6 Beiträge einer html-Seite auslesen und auf meine übrigen Seiten kopieren (Menü "Letzte Beiträge" meines Blogs). Die Zeilen stehen immer mit 6 Zeilen Abstand (dummerweise mitten) in der Datei, sodass sich immer was verschieben könnte. Von unten zu zählen bringt aber den wenigsten "Ärger". Ich hatte schon überlegt, die Zeilen nach Wörten zu filtern, weil jede der 6 Zeilen das Wort "entry" enthält. Hab aber dafür z.Z. keine Idee.

        Das klingt nach einer dynamisch generierten Seite. Basiert sicher auf einer Datenbank? Lies die Datenbank aus.

        --
        Vergesst Chuck Norris.
        Sponge Bob kann unter Wasser grillen!