Hallo,
ik heb volgens mij een mooi script gevonden van Arjan Kapteijn. Nou heb ik in mijn album de thumbnails in een aparte div en wil, wanneer je daar op klikt, de grote foto in de div "grotefoto". laten zien. Ik dacht met de code
if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding']))
{
$afbeelding = $_GET['afbeelding'];
}else{
$afbeelding = NULL;
}
in de div "grotefoto" dit te kunnen bewerkstelligen maar weet niet genoeg van PHP om het juiste te laten echoën.
Na een hoop proberen en googelen kom ik er nog niet uit en wordt het wat onoverzichtelijk en frustrerend dat het niet wil lukken. Kan iemand mij verder helpen?
Ik heb de code weer naar het orginele terug gebracht. Het ziet er zo uit.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>fotogallery</title>
<script type="text/javascript" src="jquery-1.5.min.js"></script>

<link rel="stylesheet" type="text/css" href="gallerystyles.css"/>
</head>

<body>
<div id="wrap">
<div id="header">
</div>
<div id="thumbnailbalk">
<div class="thumbnails">
<?php
$map = 'fotoalbum';
$afbeeldingen = array();

$hoogte_klein = 40;
$breedte_klein = 40;

$hoogte_groot = 400;
$breedte_groot = 700;

$perpagina = 12;

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)
{

$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;
foreach(explode('/',$map) as $tmp2)
{
echo '>> <a href="?pagina=fotoalbum&amp;album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> ';
$tmp = $tmp.$tmp2.'/';
}

echo '<br><br>'.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))
{
foreach($afbeeldingen as $id => $naam)
{
if(basename($naam) == $afbeelding)
{
$fotonr = $id;
}
}

if(isset($fotonr))
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);

if($fotonr > 0)
{
$vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]);

echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

echo '&nbsp;&nbsp;&nbsp; Foto '.($fotonr +1).' van '.$aantalfotos.' &nbsp;&nbsp;&nbsp;';

if($fotonr < $aantalfotos -1)
{
$volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]);

echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
}

if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot)))
{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<p>Sorry, deze foto bestaat niet!</p>';
}
}else{

if(!$mappen = glob($map.'/*', GLOB_ONLYDIR))
{
$mappen = array();
}

foreach($mappen as $album)
{
if(basename($album) != 'thumbs')
{
echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL;
}
}

if($aantalfotos > $perpagina)
{
if ($paginanr > 1)
{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

echo '&nbsp;&nbsp;&nbsp; Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' &nbsp;&nbsp;&nbsp;';

if ($paginanr < ceil(($aantalfotos)/$perpagina))
{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
}
}

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 '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}
}
?>
</div>
</div>
<div id="grotefoto">
<?php

?>
</div>
</div>
</body>
</html>

Kan iemand mij helpen?
B.v.d.
Vriendelijke groet, Rob Cnossen

Reageren