[code]
###config.php###
<?php
$usetumb = true; //thumbfiles maken op server!
# $usetumb = true;
# -als deze functie true is, moet er onder de foto map, een map aangemaakt worden met de naam tumb.
# -deze map moet lees, schrijf en exec rechten krijgen voor elke gebruiker (web genruiker).

# $usetumb = false;
# -er worden geen tumb-files gemaakt, hierdoor moet je server steeds opnieuw alle foto's resizeen,
# wat veel cpu kracht kost en dus veel tijd met laden!
$tumb = 100; //grote thumbfoto
# $tumb = 100;
# dit geeft de grote weer van de tumb file... zodat de tumb file nooit hoger of breder wordt als 100 pixels
$aantalrijen = 4; // aantal rijen met foto's in index
$aantalkolom = 4; //aantal kolomen met foto's in index
$showfoto = true; //foto in $groot formaat nog is weergeven
# $showfoto = true;
# dan krijg je nog een tussen maar van de foto te zien ($groot). en kan je bovenaan de pagine nog 2 foto's terug of vooruit klikken!

# $showfoto = false;
# dan krijg direct een link naar de orginale foto (van uit index). geen next en previous foto's!
$groot=600; //grote showfoto (als $showfoto = true) 
# als $groot = 0, wordt de orginale grote weergegeven met next en previous foto's!
$weergeven_filename = false; //weergeven van filename onder het plaatje
$text = "Tekst onder aan showfoto!";
# $text = "test";
# is de tekst die onderaan showfoto wordt neergezet
?>
### einde config.php ###


### fotoresize.php ###
<?php
include 'config.php';
$file = $_GET['foto'];
$groot = $_GET['groot'];
if ($usetumb == true){
    //dir maken als hij nog niet bestaat!
    if (is_dir("tumb")==false)
    {
        mkdir("tumb/", 0777);
    }
}
//bekijken of tumb al gemaakt is!
if (is_file("tumb/$groot" . "-" . "$file")==false | $usetumb==false)
//zo niet maken!
{
    // Get new dimensions
    list($breed, $hoog) = getimagesize($file);
    // niet resize als er geen grote is ingevuld, of wanneer plaatje kleiner is dan gewenste grootte
    if ($groot > 0 & ($groot < $breed | $groot < $hoog)) 
    {
        $new_breed =$groot ;
        $new_hoog = $groot;
        if ($new_breed && ($breed < $hoog)) {
           $new_breed = ($new_hoog / $hoog) * $breed;
        } else {
           $new_hoog = ($new_breed / $breed) * $hoog;
        }
    }else{
        $new_breed =$breed;
        $new_hoog = $hoog;
    }
    // Content type
    header('Content-type: image/jpeg');
    // Resample (JPG)
    $new_image = imagecreatetruecolor($new_breed, $new_hoog);
    //als gif is maken van gif anders jp(e)g
    if (eregi("[.]gif",$file))
    {
	//gif
    	$image = imagecreatefromgif($file);
    }else{
    	//jpeg
    	$image = imagecreatefromjpeg($file);
    }
    imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_breed, $new_hoog, $breed, $hoog);
    imagedestroy($image);
    // Output
    if ($groot > 300 | $usetumb == false)
    {
	imagejpeg($new_image, null, 100);
    }else{
	imagejpeg($new_image, "tumb/$groot" . "-" . "$file", 100);
	imagejpeg(imagecreatefromjpeg("tumb/$groot" . "-" . "$file"), null , 100);
    }
}else{
    //anders plaatje alleen weergeven!
    imagejpeg(imagecreatefromjpeg("tumb/$groot" . "-" . "$file"), null , 100);
}
    imagedestroy($new_image);
    imagedestroy("tumb/$groot" . "-" . "$file");
?> 
### einde fotoresize.php ###

### index.php ###
<?php
include 'config.php';
$indexbegin = $_GET['index'];
$fotobegin = $_GET['foto'];
$picbegin = $_GET['pic'];
if ($indexbegin == null)
{
    $indexbegin = 1;
}
if ($fotobegin == null)
{
    index($indexbegin);
}else{
    showfoto($fotobegin,$picbegin);
}

function index($index)
{
    extract($GLOBALS);
    ?>
    <center>
    <table><tr><td>
    <table>
    <?php
    $pic_teller=0; //telt de plaatjes
    $i_teller = 0; //teller voor indelen table.
    //uitzondering voor index 1 (null)
    if ($index == 1)
    {
        $pic_vanaf=0;
    }else{
        //bepalen vanaf welk plaatje je moet weergeven. (vanaf index 1)
        $pic_vanaf=$aantalrijen*$aantalkolom*($index-1);
    }
    if ($handle = opendir('.'))
    {
	while (false !== ($file = readdir($handle))) 
	{
	    if(eregi("[.]jpg",$file)|eregi("[.]jpeg",$file)|eregi("[.]gif",$file))
    	    {	
    		$pic_teller++;
    		//plaatje van alleen index weergeven rest niks mee doen!
    		if (($pic_vanaf < $pic_teller) & (($pic_teller) <= ($aantalrijen*$aantalkolom*$index)))
    		{
    		    if ($i_teller==$aantalkolom)
    		    {
        		$i_teller=0;
    		    }
    		    if ($i_teller==0)
    		    {
    			echo"<tr>\n";
    		    }
    		    $foto = str_replace(" ","%20", $file);
    		    echo "<td align=\"center\" valign=\"bottom\">\n<table><tr><td>";
    		    if ($showfoto==true)
    		    {
    			$pic_scherm = $aantalkolom*$aantalrijen;
    			echo "<a href=index.php?foto=$foto&pic=$pic_teller>";
    		    }else{
    		        echo "<a href=$foto>";
    		    }
    		    echo "<img border=\"0\" src=\"fotoresize.php?foto=$foto&groot=$tumb\"></a></td></tr>\n";
    		    if ($weergeven_filename == true)
		    {
	        	echo "<tr><td align=\"center\">$file</td></tr>";
		    }
		    echo "</table></td>\n";
		    if ($i_teller==$aantalkolom-1)
		    {
			echo"\n</tr>";
		    }
		    $i_teller++;
		}
	    }
	}
        closedir($handle);
    }
    //index next en terug!
    echo "</table></td></tr><tr>";
    echo "<td align=left>page:";
    //copy $backindex om terug te kunnen gaan.
    $backindex = 1;
    while ($backindex<$index)
    {
	echo "<a href=index.php?index=$backindex>[$backindex]</a>";
	$backindex++;
    }
    // hier ben je nu!
    echo "[$index]"; 
    //copy $nextindex om vooruit te kunnen gaan
    $nextindex = $index;
    while ($pic_teller>$aantalkolom*$aantalrijen*$nextindex)
    {
	$nextindex++;
        echo "<a href=index.php?index=$nextindex>[$nextindex]</a>";
    }
    echo "</td></tr>";
    echo "</table></center>";
}


###showfoto###
function showfoto($foto,$pic)
{
    extract($GLOBALS);
    $fotopro20 = str_replace(" ","%20",$_GET['foto']);
    $pic_aantal = $aantalkolom * $aantalrijen; //aantal op een scherm!
    echo "<center>";
    $pic_teller=0;
    if ($handle = opendir('.'))
    {
        echo"<table width=500><tr>\n";
	$bla=3;
        while ($bla>$pic)
        {
    	    //lege <td></td> als voor eerste 2 paaltjes bij pic1 en pic2.
            $bla--;
    	    echo "<td width=100></td>";
        }
        while (false !== ($file = readdir($handle))) 
	{
    	    if(eregi("[.]jpg",$file)|eregi("[.]jpeg",$file)|eregi("[.]gif",$file))
    	    {
    		$pic_teller++;
    		if (($pic_teller+2 >= $pic)&($pic_teller-2 <= $pic))
    		{
    		    if (eregi("[.]gif",$file))
    		    {
    			$giftumb=1;
    		    }else{
    			$giftumb=0;
    		    }
    		    echo "<td width=\"100\" height=\"150\" valign=bottom>";
    		    //filename met %20
        	    $filepro20 = str_replace(" ","%20",$file);
    		    //bereken index voorplaatje!
    		    $pic_temp = $pic_teller;
    		    $newindex=1;
    		    while ($pic_temp > $pic_aantal)
        	    {
        		$pic_temp = $pic_temp - $pic_aantal;
    			$newindex++;
    		    }
		    echo "<table><tr>";
    		    switch ($pic_teller)
		    {	
    		    case $pic-1:
    			echo "<td height=40><center><a href=index.php?foto=$filepro20&pic=$pic_teller>&lt;&lt;Previous</center></a></td></tr><tr>";
    			echo "<td height=100><center><a href=index.php?foto=$filepro20&pic=$pic_teller>";
    			echo "<img border=\"0\" src=\"fotoresize.php?foto=$filepro20&groot=100\"/>";

    			echo "</a></center></td>";
        	    break;
    		    case $pic+1:
    			echo "<td height=40><center><a href=index.php?foto=$filepro20&pic=$pic_teller>Next&gt&gt</center></a></td></tr><tr>";
        		echo "<td height=100><center><a href=index.php?foto=$filepro20&pic=$pic_teller>";
    			echo "<img border=\"0\" src=\"fotoresize.php?foto=$filepro20&groot=100\"/>";
    			echo "</a></center></td>";
    		    break;
    		    case $pic:
        		echo "<td height=40><center><a href=index.php?index=$newindex>index</a></center></td></tr><tr>";
    			echo "<td height=100><img border=\"0\" src=\"fotoresize.php?foto=$filepro20&groot=100\"/></td>";
    		    break;
    		    default:
    			echo "<td height=100><center><a href=index.php?foto=$filepro20&pic=$pic_teller>";
    			echo "<img border=\"0\" src=\"fotoresize.php?foto=$filepro20&groot=100\"/>";
            		echo "</a></center></td>";
		    break;
		    }
		    if ($weergeven_filename == true)
		    {
	    		echo "</tr><tr><td align=\"center\">$file</td>";
		    }
		    echo "</tr></table>";
		    echo "</center></td>";
		}
	    }
	}
	// laatste 2 lege vakjes bij laatste 2 pic's
	switch ($pic)
	{
	case $pic_teller:
	    echo "<td width=100></td>";    
	    //gaat naar 2 lege vakken want geen break!
    	case $pic_teller-1:
	    echo "<td width=100></td>";    
	break;
	}
	echo "</tr></table>\n";
    }
    echo "<a href=\"$fotopro20\" target=_blank><img border=\"0\" src=\"fotoresize.php?foto=$foto&gif=$gif&groot=$groot&dir=$pro20dir\"></a><br>\n";
    echo "$text";
    echo "</center>";
}
?>
### einde index.php ###[/code]