Select onChange - skift billede
Jeg har en <select> i en form, der viser indholdet af en billedemappe på serveren og når man vælger en fil i dropdownen skal den erstatte et transparent billede på siden med det billede man valgte. Der er både GIF og JPG filer i mappen og filen skal vises så den max. er 200px høj og max 200px bred. Dvs. den skal skaleres propertionelt.----------
Option-listen ser således ud:
<option value="uploads/Image/billede1.gif">billede1.gif</option>
<option value="uploads/Image/billede2.jpg">billede2.jpg</option>
Min onChange kode ser sådan ud:
<select name="liste" size="12" style="width: 195px;" onChange="document.myImg.src = 'billeder.php?navn='+this.value+'&maxhojde=200&maxbrede=200'"><?= $liste ?></select>
<img name="myImg" src="graphics/transparent.gif" style="border: 1px solid #BFE0FE;" />
Og endelig min billeder.php fil:
Header( "Content-type: image/jpg");
function resizeimage($filnavn, $maxhojde, $maxbredde) {
//Find højde og bredde på billede
list($width, $height, $type) = getimagesize($filnavn);
if (in_array($type, array(IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_PNG))) return FALSE; // hvis ikke-gyldig type!
if ($height > $maxhojde || $width > $maxbredde) {
$resizefactor = max($height/$maxhojde, $width/$maxbredde);
$newheight = $height / $resizefactor;
$newwidth = $width / $resizefactor;
}
//lav et nyt billede
$image = imagecreate($newwidth, $newheight);
$white = ImageColorAllocate($image,204,204,204);
ImageFilledRectangle($image,0,0,$newwidth,$newheight,$white);
//åben det originale billede
if ($type == IMAGETYPE_GIF)
$src = imagecreatefromgif($filnavn);
else if ($type == IMAGETYPE_PNG)
$src = imagecreatefrompng($filnavn);
else
$src = imagecreatefromjpeg($filnavn);
//gem billede
imagecopyresized($image, $src, 0,0,0,0, $newwidth, $newheight, $width, $height);
ImageJPEG($image);
ImageDestroy($image); ImageDestroy($src);
}
if(isset($_GET['navn']) && isset($_GET['maxhojde']) && isset($_GET['maxbrede'])){
resizeimage($_GET['navn'], $_GET['maxhojde'],$_GET['maxbrede']);
}
--------------------------------------
Problemet:
Den udskifter fint SRC adressen i image-tagget, men min phpfil gider kun outputte JPG filer og ikke GIF filerne.
Nogen der kan gennemskue hvorfor?