Hallo
Ik heb gister de hele dag aan een script liggen te kloten om plaatjes te uploaden en dat ze dan gecopieert en metteen verkleint worden tot thumbnail. Dat werkt gelukkig na heel wat gekloot maar de kwaliteit van de plaatjes laat wat te wensen over. Is er een manier om dit te verbeteren? Want vooral de kleuren worden gewoon vern**kt. mss dat er iets is wat ik fout doe ofzo...
http://members.lycos.nl/kotrsite/index.php?page=gallery
daar staan een paar plaatjes die door men script gegaan zijn.
en voor de gene die intresse hebben in men script:
<?
if (isset($_POST['uploaden']))
{
require("config.php");
function create_image_from($ext,$naam)
{
if ($ext == 'jpg')
$org = imagecreatefromjpeg("fotos/".$naam);
elseif ($ext == 'gif')
$org = imagecreatefromgif("fotos/".$naam);
elseif ($ext == 'png')
$org = imagecreatefrompng("fotos/".$naam);
else
die("ERROR while createing image -> create_image_from");
return $org;
}
function complete_img($ext,$create,$naam)
{
if ($ext == 'jpg')
imagejpeg($create, "fotos/klein_".$naam, 100);
elseif ($ext == 'gif')
imagegif($create, "fotos/klein_".$naam, 100);
elseif ($ext == 'png')
imagepng($create, "fotos/klein_".$naam, 100);
else
die("ERROR while createing image -> complete_img");
}
$img = $foto_name;
if ($img == "")
{
echo "U heeft geen bestand opgegeven.";
exit();
}
$naam = explode("/", $foto_name);
$naam = end($naam);
$naam = strtolower($naam);
$sql = "SELECT * FROM gallery WHERE naam = '".$naam."'";
$res = mysql_query($sql) OR die(mysql_error());
$num = mysql_num_rows($res);
if ($num >= '1')
die ("Sorry de naam van de afbeelding bestaat al. Geef u foto een andere naam en probeer het op nieuw.");
$expl = explode(".", $img);
$ext = end($expl);
$ext = strtolower($ext);
if (!(($ext == 'jpg') || ($ext == 'gif') || ($ext == 'png')))
{
echo "U afbeelding heeft niet de juiste extensie.<br>";
echo "Toegestaan zijn: gif, jpg en png<br>";
exit();
}
copy($foto,"fotos/".$naam);
// functie orginele foto ophalen
$org = create_image_from($ext,$naam);
$size = getimagesize("fotos/".$naam);
$width = $size[0];
$height = $size[1];
if ($size[0] == $size[1])
{
$newwidth = 140;
$newheight = 140;
}
elseif ($size[0] > $size[1])
{
$newwidth = 140;
$newheight = ($size[1] * 140 / $size[0]);
}
elseif ($size[0] < $size[1])
{
$newheight = 140;
$newwidth = ($size[0] * 140 / $size[1]);
}
else
{
echo "ERROR while createing image -> size";
echo "$size[0] x $size[1]";
exit();
}
$create = imagecreate($newwidth, $newheight);
echo "new: $newwidth x $newheight<br>";
echo "orginal: $width x $height<br>";
imagecopyresized($create, $org, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// functie orginele foto ophalen
complete_img($ext,$create,$naam);
imagedestroy($org);
imagedestroy($create);
$imgsize = $foto_size;
$name = $naam;
$size = round($imgsize / 1024);
$datum = date("Y-m-d");
echo "Naam: ".$name."<br>";
echo "Size: ".$size." Kb<br>";
echo "Datum: ".$datum."<br>";
$sql = "INSERT INTO gallery (naam,size,datum,jaar) VALUES ('".$name."', '".$size."', '".$datum."','".$_POST['jaar']."')";
mysql_query($sql) OR die(mysql_error());
?>
<center>
U afbeeling is geupload.<hr><img src="fotos/klein_<? echo "$name";?>">
</center>
<?
}
?>
<center>
BELANGRKIJK: lycos.tripod ondersteunt GEEN gifjes. Als je dit toch probeert zul je een error krijgen.
<form method="post" action="<? echo $PHP_SELF; ?>" enctype="multipart/form-data">
Bestand: <input type="file" name="foto"><br>
<select name="jaar">
<option></option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select><br>
<input type="submit" name="uploaden" value="Uploaden">
</form>
</center>
1.157 views