Bilder nach Nr. sotieren

Hallo!

Ich benutze folgendes Script für eine Fotogalerie:

$gallfile="aura0506.php"; //Name Ihrer \*.php Datei


 // files in directory to array
 $i=0;
 $handle=opendir("../pix/aura0506"); 
 while ($file = readdir ($handle)) 
 { 
 if ($file != "." && $file != ".." && $file != "aura0506.inc"
 && $file != "tn" && $file != $gallfile) 
 { 
 $files[$i] = $file;
 $i ++; 
 } 
 }
 closedir($handle);
 // end files to array

 // some variables
 $so = sizeof ($files);
 $sb = $so;
 $ss = $s + 1;
 $st = $so -1;
 $so -= $s;
 $ee = $e;
 //end vars

 if ( $e \> $sb )
 {
 $ee = $sb;
 };

 // head
echo "

";
//end head

// show pictures
$sn = $s; // next button start
$en = $e; // next button end
$sp = $s; // prev button start
$ep = $e; // prev button end

echo „\n“;

$di=0;
for ($d=5; $d \n";
$s++;
$so–;

if ( $s == $st)
{
$col = „colspan=5“;
$align = „left“;
}
else
{
$col = „“;
$align = „center“;
};

foreach($da as $value)
{
if ( $s == $value)
{
echo „\n\n“;
};
};

};
echo „\n“;
// end of show

// next & prev buttons
$sn += 25;
$en += 25;
$sp -= 25;
$ep -= 25;

if ($sp «« Back";
};

if ($sn > $st )
{
$next = " ";
}
else
{
$next = „Next »»“;
};
// end of buttons

echo „\nBilder „.$ss.“ - „.$ee.“ von „.$sb.“ \n“.$prev."\n".$next."\n";
?>

Das hab ich mal von einer Scriptseite geladen und es lief immer prima. Seit Kurzem allerdings werden alle Bilder in der Galerie willkürlich angezeigt und nicht mehr der Reihe nach. Jetzt überlege ich, ob ich vielleicht versehentlich etwas an dem Script geändert habe. Doch woran kann das liegen?

Grüße,

Matthias

Das hab ich mal von einer Scriptseite geladen und es lief
immer prima. Seit Kurzem allerdings werden alle Bilder in der
Galerie willkürlich angezeigt und nicht mehr der Reihe nach.
Jetzt überlege ich, ob ich vielleicht versehentlich etwas an
dem Script geändert habe. Doch woran kann das liegen?

fragst Du jetzt wirklich nach dem Warum und nicht nach dem Wie kann ich es umgehen? :wink:

ich bin mir nicht sicher - aber evtl wird die Sortierreihenfolge vom System geliefert…
Hinweis:
string readdir ( int dir_handle)
Ermittelt den nächsten Dateinamen im Verzeichnis. Die Dateinamen werden ungeordnet zurück gegeben.

versuch deswegen mal zwischen
$handle=opendir("…/pix/aura0506");
und
while ($file = readdir ($handle))

ein
sort($handle);
einzubauen…

versuch deswegen mal zwischen
$handle=opendir("…/pix/aura0506");
und
while ($file = readdir ($handle))

ein
sort($handle);
einzubauen…

Wenn ich das einbaue, kommt leider folgender Fehler:
Warning: sort() expects parameter 1 to be array, resource given

dann anders…
hier:

 while ($file = readdir ($handle)) 
 { 
 if ($file != "." && $file != ".." && $file != "aura0506.inc"
 && $file != "tn" && $file != $gallfile) 
 { 
 $files[$i] = $file;
 $i ++; 
 } 
 }

wird ein array erstellt…
Sortiere das anschliessend mit gleichem Befehl:
sort($files);
evtl danach noch ein
reset($files);

sollte klappen denk ich

Wow, klasse, vielen Dank! :smile: