[PHP] Bestanden sorteren voor readdir

Een tijdelijke versie heb ik nu online van meest recente project: www.leukmodel.nl. Mijn opdrachtgever wil graag dat de foto's gesorteerd worden op naam (dus op volgorde), maar hoe krijg ik dat in vredesnaam voor elkaar? mijn code is momenteel als volgt:

[code:1:a849cce7e5]function shoot(){
$path = "img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/";
$handle = @opendir($path);
while (false !== ($file = readdir($handle))) {
if ($file[0] == ".") continue;
if (is_dir($path.$file)) continue;
echo "<a href="img/full.php?serie=".$_GET["serie"]."&shoot=".$_GET["shoot"]."&file=$file" target="_blank"><img src="img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/$file" class="thumb"></a>&nbsp;";
};
closedir($handle);
};
[/code:1:a849cce7e5]

Op deze manier worden de foto’s gewoon willekeurig uit de map geplukt. Ik had al gekeken naar de sort functie maar ik heb geen idee hoe ik die moet toepassen in deze situatie.

In je while loop kan je een array maken. Hierna kan je de sort functie gebruiken:

[code:1:1b59b97539]
function shoot(){
$path = "img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/";
$handle = @opendir($path);
while (false !== ($file = readdir($handle))) {
if ($file[0] == ".") continue;
if (is_dir($path.$file)) continue;

  $arrImg&#91;count&#40;$arrImg&#93; = $file;

};
closedir($handle);

sort($arrImg);

while (list($key, $val) = each($arrImg)) {
echo "<a href="img/full.php?serie=".$_GET["serie"]."&shoot=".$_GET["shoot"]."&file=$val" target="_blank"><img src="img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/$val" class="thumb"></a>&nbsp;";
}
};
[/code:1:1b59b97539]

Ik heb het niet getest, maar zoiets zou het moeten zijn.

Succes!

[quote:20f63e45c6="@GHB"]In je while loop kan je een array maken. Hierna kan je de sort functie gebruiken:

[code:1:20f63e45c6]
function shoot(){
$path = "img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/";
$handle = @opendir($path);
while (false !== ($file = readdir($handle))) {
if ($file[0] == ".") continue;
if (is_dir($path.$file)) continue;

  $arrImg&#91;count&#40;$arrImg&#41;&#93;&#93; = $file;         &lt;----------- haakje

};
closedir($handle);

sort($arrImg);

while (list($key, $val) = each($arrImg)) {
echo "<a href="img/full.php?serie=".$_GET["serie"]."&shoot=".$_GET["shoot"]."&file=$val" target="_blank"><img src="img/serie".$_GET["serie"]."/shoot".$_GET["shoot"]."/$val" class="thumb"></a>&nbsp;";
}
};
[/code:1:20f63e45c6]

Ik heb het niet getest, maar zoiets zou het moeten zijn.

Succes![/quote:20f63e45c6]

Mijn dank is groot, het werkt! je was alleen 1 haakje vergeten!

Alleen heb jij er nu 1 te veel staan :P

[code:1:6bf604b037]
$arrImg[count($arrImg)] = $file;
[/code:1:6bf604b037]