Das kannst du entweder mit reinem html lösen, in dem du 2 bilder anfertigst: Ein kleines und ein großes, der code dafür wäre:

HTML-Code:
<a href="großes-bild"><img src="kleines-bild" alt="kleines-bild"></a>
Oder, wenn du nur ein großes bild hast, kannst du mit php das prozentual verkleinern:

PHP-Code:
$size GetImageSize ("bild1.jpg\"); // Bild einlesen 
$imagewidth = $size[0]; // Breite auslesen 
$imageheight = $size[1]; // Höhe auslesen 
$maxwidth = \"640\"; 
if (
$imagewidth > $maxwidth

$imageprop=$maxwidth/$imagewidth
$imagevsize$imageheight*$imageprop
$imagewidth=$maxwidth
$imageheight=ceil($imagevsize); 

Müsstest es dann noch anzeigen und entsprechend verlinken. Hab das script jetzt nicht mehr getestet, müsstest du mal ausprobieren. Außerdem wäre dann dieser thread mal interessant (den hab ich grad wieder ausgegraben).