$siteurl = 'http://www.lungomare.eu/images/'; $map = 'LungoMare'; $afbeeldingen = array(); $hoogte_klein = 80; $breedte_klein = 105; $hoogte_groot = 250; $breedte_groot = 450; $perpagina = 32; if(isset($_GET['album']) && !empty($_GET['album'])) { $tmp = explode('/',$_GET['album']); if($tmp[0] == $map) { $map = str_replace(array('.', '\\', ':'), '', $_GET['album']); } } if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr'])) { $paginanr = $_GET['paginanr']; }else{ $paginanr = 1; } if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding'])) { $afbeelding = $_GET['afbeelding']; }else{ $afbeelding = NULL; } function thumbnail($afbeelding, $type) { global $hoogte_klein, $breedte_klein; $map = $afbeelding['dirname']; $bestandsnaam = $afbeelding['basename']; list($type, $hoogte, $breedte) = $type; list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam); if(!is_dir($map.'/thumbs/')) { mkdir($map.'/thumbs/', 0777); chmod($map.'/thumbs/', 0777); } if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) { $breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel; }else{ $hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel; } $afbeelding = imagecreatetruecolor($breedte, $hoogte); switch($extensie) { case 1: //gif $afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; case 2: //jpg $afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80); break; case 3: //png $afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam); $background = imagecolorallocate($afbeelding, 0, 0, 0); imagecolortransparent($afbeelding, $background); // make the new temp image all transparent imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel imagesavealpha($afbeelding, true); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; } chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777); return TRUE; } $tmp = NULL; echo ''.PHP_EOL; if(!$bestanden = glob($map.'/*.*')) { $bestanden = array(); } foreach($bestanden as $bestand) { $gegevens = getimagesize($bestand); $extensie = $gegevens['mime']; if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png') { $afbeeldingen[] = $bestand; } } $aantalfotos = count($afbeeldingen); if(isset($afbeelding)) { echo '
'; foreach($afbeeldingen as $id => $naam) { if(basename($naam) == $afbeelding) { $fotonr = $id; } } if(isset($fotonr)) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); echo ''; if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot))) { echo ''.$afbeelding['basename'].'

(Klik op de foto voor een grote versie)'.PHP_EOL; } }else{ echo ''.$afbeelding['basename'].'

(Klik op de foto voor een grote versie)'.PHP_EOL; } }else{ echo '

Sorry, deze foto bestaat niet!

'; } echo '
'; }else{ if(!$mappen = glob($map.'/*', GLOB_ONLYDIR)) { $mappen = array(); } foreach($mappen as $album) { if(basename($album) != 'thumbs') { if(!$bestandenX = glob($album.'/*.*')) { $bestandenX = array(); } foreach($bestandenX as $bestandX) { $gegevensX = getimagesize($bestandX); $extensieX = $gegevensX['mime']; if($extensieX == 'image/jpeg' || $extensieX == 'image/gif' || $extensieX == 'image/png') { $afbeeldingenX[] = $bestandX; } } $aantalfotosX = count($afbeeldingenX); echo ''.ucfirst(basename($album)).' ('.$aantalfotosX.')
'.PHP_EOL; } } if($aantalfotos > $perpagina) { echo ''; } for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein))) { echo ''.$afbeelding['basename'].''.PHP_EOL; } }else{ echo ''.$afbeelding['basename'].''.PHP_EOL; } } } ?>