Hallo,
Ik heb me eens bezig gehouden met een script om afbeedlingen up te loaden en te verkleinen, met wel wat hulp van verschillende bestaande scripten... Hier is dus het belangrijkste deel van het script:
<?
$newwidth='500';
$newheight='500';
$dir = "images/";
$maxsize = 2500000;
if (is_uploaded_file($_FILES['bestand']['tmp_name']))
{
if(filesize($_FILES['bestand']['tmp_name']) > $maxsize){
echo "<span style=\"color: red\">!! Foto 1 is te groot.</span><p>";
} else {
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = strtolower($pathinfo["extension"]);
$a = ".$ext";
$naam= @foto_. date("dmyHis") .$a;
if ($ext == "jpeg" || $ext == "jpg" || $ext == "gif" || $ext == "png"){
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<a onclick=\"javascript:history(-1);\">Ga Terug en probeer iets anders!</A> ");
$pics=$dir.$naam;
list($width, $height) = getimagesize($pics);
if($width > $height && $newwidth < $width){
$newheight = $height / ($width / $newwidth);
} else if ($width < $height && $newheight < $height) {
$newwidth = $width / ($height / $newheight);
} else {
$newwidth = $width;
$newheight = $height;
}
if(preg_match("/.jpg/i", "$pics")){
$source = imagecreatefromjpeg($pics);
}
if(preg_match("/.jpeg/i", "$pics")){
$source = Imagecreatefromjpeg($pics);
}
if(preg_match("/.png/i", "$pics")){
$source = imagecreatefrompng($pics);
}
if(preg_match("/.gif/i", "$pics")){
$source = imagecreatefromgif($pics);
}
$thumb1 = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($thumb1, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
if(preg_match("/.jpg/i", "$pics")){
imagejpeg($thumb1,$dir.$naam,100);
}
if(preg_match("/.jpeg/i", "$pics")){
imagejpeg($thumb1,$dir.$naam,100);
}
if(preg_match("/.png/i", "$pics")){
imagepng($thumb1,$dir.$naam,100);
}
if(preg_match("/.gif/i", "$pics")){
imagegif($thumb1,$dir.$naam,100);
}
$x=$newwidth;
$y=$newheight;
}
else {
echo "<span style=\"color: red\">Foute extensie van foto 1!! Afbeeldingen mogen enkel gif, jpg, jpeg of png zijn!</span>";
}
}
}
?>
... Daarna sla ik naam en width, height op in een database, maar dat is niet zo belangrijk. Het probleem is dat het bij foto's > 1,5MB niet werkt... Ziet er iemand misschien een fout?
U kan dit script toegepast hier zien:
http://www.hermancandries.be/uwsite/foto.php
EDIT: typfoutje
2.823 views