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

Ordnerinhalt sortiert includen

Space Vampire

Senior HTML'ler
tach zusammen.
ich hab vor ein paar wochen hier im forum einen codeschnipsel gefunden, der mir sehr weitergeholfen hat.
er bewirkt, dass der inhalt eines ordners ausgelesen und included wird.

leider geschieht dies vollkommen unsortiert.
wenn es sortiert ist, weiß ich nicht nach welchen kriterien da sortiert wird.

kann jemand den code so modifizieren, dass der inhalt des ordners sortiert included wird?

die dateien in dem ordner heißen in meinem beispiel alle wie folgt

btb001.htm
btb002.htm
btb003.htm
etc, etc

die sortierung sollte nach höchste nummer zuerst geschehen.

falls es die angelegenheit erleichtert, kann ich auf die alphanummerischen dateibezeichnungen auch verzichten und nur nummerisch benennen.
danke im voraus :)

PHP:
 <?php
    $ordner="./galerie/topf/blumig";
    $dir_handle = opendir($ordner);
    while ($datei = readdir($dir_handle))
    {
        if ($datei !== "." && $datei !== "..")
        {
            include($ordner."/".$datei);
        }
    }
?>
 
glob sortiert von selbst.
PHP:
<?php
    foreach(glob('./galerie/topf/blumig/*') as $match) {
        if(is_dir($match)) continue;
        include $match;
    }
?>

EDIT: Oh, ich seh grad was. Wenn die Ausgabe mit der höchsten Zahl beginnen soll musst du wohl doch erst noch alles in ein Array stecken und einmal mit array_reverse bearbeiten.
 
ich würde es so machen

PHP:
$dir = '/bla/blub/';
$h = opendir($dir);
$files = array();
while(($file = readdir($h)) !== false) {
    if($file == '.' || $file == '..') {
        continue;
    }
    $files[] = $dir . $file;
}

while(($file = array_pop($files))) {
    include($file);
}
 
glob sortiert von selbst.
PHP:
<?php
    foreach(glob('./galerie/topf/blumig/*') as $match) {
        if(is_dir($match)) continue;
        include $match;
    }
?>

EDIT: Oh, ich seh grad was. Wenn die Ausgabe mit der höchsten Zahl beginnen soll musst du wohl doch erst noch alles in ein Array stecken und einmal mit array_reverse bearbeiten.

ich steh mit vielen vielen fragezeichen da :-(
ich hab keinen blassen schimmer wie das geht :?:
ich bin mal so frech und frag mal ob du bereit wärest mir das mit dem arrey in den code von dir rein zu schreiben wenn es nicht zu viel unstände bereitet.
wäre ich zutiefst dankbar für...

das von slibbo funktioniert zwar grundsätzlich, aber eine datei flitscht aus gründen die ich nicht nachvollziehen kann immer an die oberste stelle.
sieben dateien durchgehend nummeriert von btb01 bis 07 ...und die 03 ist immer oben.
um es richtig seltsam zu machen: wenn ich sie 00 nenne springt sie seltsamerdings genau an die dritte stelle!
versteh das wer will...ich jedenfalls nicht
 
kannst ja vor der zweiten while nen sort($files); machen
 
Zurück
Oben