Hey,

ik heb een vraagje,
Kan mijn fotoalbum ook op alfabetische volgorgde worden gesorteerd?
En de foto's staan ook door elkaar. Is het mogelijk dat mijn foto's ook op volgorde van naam komen te staan?

fotoalbum:
http://www.scb-hooligans.nl/fotoalbum/

Alvast bedankt!
Dat hangt er een beetje vanaf hoe die lijst gegenereerd wordt. Kun je dus wat van de code laten zien?
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
a {
font-family: Arial, Helvetica, sans-serif;
color: #FF9900;
}
a:visited {
color: #FFFFFF;
text-decoration: none;
}
a:hover {
color: #FFFFFF;
text-decoration: none;
}
a:active {
color: #FFFFFF;
text-decoration: none;
}
a:link {
text-decoration: none;
}
-->
</style></head>

<body><br />
<?php
echo '<h1>Fotoalbum</h1>';

//We maken 2 array's, eentje voro de bestanden en een voor de mappen. We geven ook aan in welke map we de afbeeldingen kunnen vinden.
$directories = array();
$bestanden = array();
$map = 'fotoalbum/';

//functie, voor het opruimen van een array.
function arraySchoonmaken($array) {
foreach ($array as $index => $value) {
if (empty($value)) unset($array[$index]);
}
return $array;
}

//functie, voor het verwijderen van een extensie.
function stripExtensie($bestand)
{
$ext = strrchr($bestand, '.');
if($ext !== false)
{
$bestand = substr($bestand, 0, -strlen($ext));
}
return $bestand;
}

//functie, voor het maken van een afbeelding.
function thumbnail($map,$thumblocatie,$bestandsnaam,$breedte,$hoogte)
{
list($breedte_origineel, $hoogte_origineel) = getimagesize($map.$bestandsnaam);

//We weten de breedte/hoogte van een afbeelding, we weten ook hoe groot ze moeten worden en gaan dus lekker rekenen!
if ($breedte && ($breedte_origineel < $hoogte_origineel)) {
$breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
}else{
$hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
}

//Maak een nieuwe afbeelding aan met de juiste breedte en hoogte, openen de originele en gebruik de functie imagecopyresampled om daar een mooie afbeelding van te maken.
$afbeelding = imagecreatetruecolor($breedte, $hoogte);
$afbeelding_origineel = imagecreatefromjpeg($map.$bestandsnaam);

imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);

//Tja, opslaan die handel!
imagejpeg($afbeelding, $map.$thumblocatie.$bestandsnaam,80);
}

//Als er een map opgegeven is in de $_GET parameters kijken we of die leeg is en zorgen ervoor dat er geen misbruik van ons script gemaakt kan worden.
if(isset($_GET['map']) && !empty($_GET['map']))
{
$map = str_replace(array(".", "\\", ":"), " ", $_GET['map']).'/';
}

//Die get variabele halen we uit elkaar zodat we alle losse mappen hebben in een array.
$mappen = arraySchoonmaken(explode('/', $map));
$aantal = count($mappen)+1;

//Dit gedeelte snap ikzelf niet eens meer... vraag mij niet wat ik hier doe en hoe en waarom ik dat doe. Het doet iets en het werkt. Ik denk dat we het daar maar bij moeten laten.
for($z = 1; $z < $aantal; $z++)
{
$temp = NULL;
for($y = 0; $y < $z; $y++)
{
if($mappen[$y] == 'fotoalbum')
{
$temp .= $mappen[$y];
}else{
$temp .= '/'.$mappen[$y];
}
}
echo ' >> <a href="?map='.$temp.'">'.ucfirst($mappen[$z-1]).'</a>';
}

echo '<hr>';

//Open de directory en we gaan die bestand voor bestand uitlezen.
if(@$dir = opendir($map))
{
while (false !== ($file = readdir($dir)))
{
//Standaard krijgen we een . en een .. te zien, die willen we niet hebben.
if ($file != "." && $file != "..")
{
//Als $file een bestand is is...
if(is_file($map.$file))
{
//... halen we de extensie eruit en checken of dat een jpeg is.
$extensie = strtolower(end(explode('.',$file)));
if($extensie == 'jpeg' || $extensie == 'jpg')
{
//Toevoegen aan de bestanden array!
$bestanden[] = $file;
}
}

//Als $file een map is...
if(is_dir($map.$file))
{
//... kijken we eerst of het niet onze thumbs of thumbsgroot map is.
if($file != 'thumbs' && $file != 'thumbsgroot')
{
//Toevoegen aan de directories array!
$directories[] = $file;
}
}
}
}
closedir($dir);
}else{
//Wat doe je! Je maakt hem kapot! Bel 112!!!!1111oneoneoneone
echo 'Sorry, deze directory kan ik niet openen!';
}

//Als de directories array niet leeg is gaan we die eerst laten zien zodat mensen verder kunnen.
if(!empty($directories))
{
foreach($directories as $directory)
{
echo '<img src="folder.gif" class="centreren"><a href="?map='.$map.$directory.'">'.ucfirst($directory).'</a><br>';
}
echo '<hr>';
}

//Als iemand niet enkele één foto opvraagt laten we de thumbnails zien.
if(!isset($_GET['foto']))
{
if(!empty($bestanden))
{
if(isset($_GET['paginanr']))
{
if(is_numeric($_GET['paginanr']))
{
$paginanr = $_GET['paginanr'];
}
}else{
$paginanr = 0;
}

$aantalfotos = count($bestanden);

//Als er meer dan 10 fotos zijn krijgen we een volgende/vorige knopje.
if($aantalfotos > 10)
{
echo '<div style="text-align: center; margin: 15px;">';

//Hebben we een vorige knopje nodig?
if ($paginanr > 0)
{
echo '<a href="?paginanr='.($paginanr - 1).'&amp;map='.substr_replace($map,"",-1).'" title="Ga naar pagina '.($paginanr).'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

//We laten even zien op welke pagina we zitten en hoeveel er zijn.
echo '&nbsp;&nbsp;&nbsp; Pagina '.ceil($paginanr+1).' van '.ceil($aantalfotos/10).' &nbsp;&nbsp;&nbsp;';

//Hebben we een volgende knopje nodig?
if ($paginanr < floor(($aantalfotos -1)/10))
{
echo '<a href="?paginanr='.($paginanr + 1).'&amp;map='.substr_replace($map,"",-1).'" title="Ga naar pagina '.($paginanr + 2).'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>';
}

echo '</div>';
}

//Don't ask, hogere wiskunde vereist. Ik weet zelf niet meer wat ik deed maar het werkt...
for($fotonr = $paginanr * 10; $fotonr <= (($paginanr * 10) + 9) && $fotonr < count($bestanden); $fotonr ++ )
{
//Okay.. wat als er geen thumbsmap is?
if(!is_dir($map.'thumbs/'))
{
//Dan maak je die natuurlijk!
mkdir($map.'thumbs/',0755);
}

//Okay... wat als er geen thumbnail is?
if(!file_exists($map.'thumbs/'.$bestanden[$fotonr]))
{
//Dan maak je die natuurlijk!
thumbnail($map,'thumbs/', $bestanden[$fotonr],100,100);
}

//De thumbnail bestaat... wat moet ik doen?
if(file_exists($map.'thumbs/'.$bestanden[$fotonr]))
{
//Jeetje man, kan je helemaal niks zelf? Laat die foto dan zien mafkees!
echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'" style="border: 0px;"><img src="'.$map.'thumbs/'.$bestanden[$fotonr].'" class="thumbs"></a>';
}
}
}else{
//Duidelijk, de map is leeg!
if(empty($directories))
{
echo '<p>Sorry, deze map is leeg!</p>';
}
}
}else{
//Stel dat iemand één enkele foto opvraagt! STEL JE VOOR!
if(is_numeric($_GET['foto']))
{
$fotonr = $_GET['foto'];

if(is_file($map.$bestanden[$fotonr-1]))
{
echo '<div style="text-align: center; margin: 15px;">';

if ($fotonr > 1)
{
echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr-1).'" title="Ga naar foto '.($fotonr - 1).'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

echo '&nbsp;&nbsp;&nbsp;Foto '.$fotonr.' van '.count($bestanden).'&nbsp;&nbsp;&nbsp;';

if ($fotonr < count($bestanden))
{
echo '<a href="?map='.substr_replace($map,"",-1).'&amp;foto='.($fotonr+1).'" title="Ga naar foto '.($fotonr + 1).'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>';
}

echo '</div>';

if(!is_dir($map.'thumbsgroot/'))
{
mkdir($map.'thumbsgroot/',0755);
}

if(!file_exists($map.'thumbsgroot/'.$bestanden[($fotonr-1)]))
{
thumbnail($map,'thumbsgroot/', $bestanden[$fotonr-1],400,385);
}

//De grotere thumbnail bestaat... laat maar zien die handel!
if(file_exists($map.'thumbsgroot/'.$bestanden[($fotonr-1)]))
{
echo '<div style="text-align: center;"><a href="'.$map.$bestanden[($fotonr-1)].'" target="_blank" style="border: 0px;"><img src="'.$map.'thumbsgroot/'.$bestanden[($fotonr-1)].'" class="groot" title="'.$bestanden[($fotonr-1)].'"></a>';
$afmeeting = getimagesize($map.$bestanden[($fotonr-1)]);
echo '<br><br><a href="'.$map.$bestanden[($fotonr-1)].'" target="_blank">Origineel ('.$afmeeting[0].' x '.$afmeeting[1].')</a></div>';
}
}else{
echo '<p>Sorry, deze foto bestaat niet!</p>';
}
}
else{
echo '<p>Sorry, dit is geen geldig foto nummer!</p>';
}
}
?>
</body>
</html>
als alles in array zit kan je de functie sort gebruiken:
<?php
Sort()
?>

Reageren