PHP ver gevorderde |
|
Ik heb 2 problemen met mijn script:
1: Als ik een afbeelding upload, dan kom ik zoals geplant op dezelfde pagina uit, maar het probleem is dat ik daar ook al een 'preview' toon van de afbeelding. Nu, als je een nieuwe afbeelding online zet, dan zal de pagina herladen worden, maar de oude afbeelding blijft getoont worden! Druk ik op F5, dan verschijnt de nieuwe afbeelding wel... Ik heb ook al geprobeerd met javascript het venster dan te herladen, maar ook dat lukte niet.
2: Kan iemand me vertellen of het mogelijk is om als een afbeelding kleiner is dan de vooropgestelde waarde (bvb 140) dat er evenzeer een vierkant van 140 op 140 wordt aangemaakt, en dat de geuploade figuur (deze is dus kleiner dan 140 op 140) daarin horiontaal en vertikaal gecentreerd wordt?
Thanks!
<?php if (isset($_POST['uploaden']) && isset($_FILES['foto']) && is_uploaded_file($_FILES['foto']['tmp_name'])) {
if($_FILES['foto']['type'] != "image/pjpeg" && $_FILES['foto']['type'] != "image/jpeg" && $_FILES['foto']['type'] != "image/gif" && $_FILES['foto']['type'] != "image/x-png" && $_FILES['foto']['type'] != "image/png"){
header("Location:index.php?melding=Je mag enkel .jpg, .gif en .png bestanden uploaden!!");
}
else{
$bestandsnaam = $_FILES['foto']['name'];
copy($_FILES['foto']['tmp_name'], "gebruikers/avaters/".$_SESSION['gid'].".jpg");
$afbeelding = imagecreatefromjpeg("gebruikers/avaters/".$_SESSION['gid'].".jpg");
$oude_breedte = imagesx($afbeelding);
$oude_hoogte = imagesy($afbeelding);
$nieuwe_breedte_klein = 140;
if ($nieuwe_breedte_klein < $oude_breedte || $nieuwe_breedte_klein < $oude_hoogte){
$schaal = ($nieuwe_breedte_klein/$oude_breedte);
$nieuwe_hoogte = ceil($oude_hoogte*$schaal);
$kleine_afbeelding = imagecreatetruecolor($nieuwe_breedte_klein,$nieuwe_hoogte);
imagecopyresized($kleine_afbeelding,$afbeelding,0,0,0,0,$nieuwe_breedte_klein,$nieuwe_hoogte,$oude_breedte,$oude_hoogte);
imagejpeg($kleine_afbeelding, "gebruikers/avaters/".$_SESSION['gid']."_klein.jpg");
}
else{
copy("gebruikers/avaters/".$_SESSION['gid'].".jpg", "gebruikers/avaters/".$_SESSION['gid']."_klein.jpg");
}
$nieuwe_breedte_medium = 250;
if ($nieuwe_breedte_medium < $oude_breedte || $nieuwe_breedte_medium < $oude_hoogte){
$schaal = ($nieuwe_breedte_medium/$oude_breedte);
$nieuwe_hoogte = ceil($oude_hoogte*$schaal);
$kleine_afbeelding = imagecreatetruecolor($nieuwe_breedte_medium,$nieuwe_hoogte);
imagecopyresized($kleine_afbeelding,$afbeelding,0,0,0,0,$nieuwe_breedte_medium,$nieuwe_hoogte,$oude_breedte,$oude_hoogte);
imagejpeg($kleine_afbeelding, "gebruikers/avaters/".$_SESSION['gid']."_medium.jpg");
}
else{
copy("gebruikers/avaters/".$_SESSION['gid'].".jpg", "gebruikers/avaters/".$_SESSION['gid']."_medium.jpg");
}
header("Location:index.php");
}
}
?>
if($_FILES['foto']['type'] != "image/pjpeg" && $_FILES['foto']['type'] != "image/jpeg" && $_FILES['foto']['type'] != "image/gif" && $_FILES['foto']['type'] != "image/x-png" && $_FILES['foto']['type'] != "image/png"){ header("Location:index.php?melding=Je mag enkel .jpg, .gif en .png bestanden uploaden!!"); } else{ $bestandsnaam = $_FILES['foto']['name']; copy($_FILES['foto']['tmp_name'], "gebruikers/avaters/".$_SESSION['gid'].".jpg"); $afbeelding = imagecreatefromjpeg("gebruikers/avaters/".$_SESSION['gid'].".jpg"); $oude_breedte = imagesx($afbeelding); $oude_hoogte = imagesy($afbeelding); $nieuwe_breedte_klein = 140; if ($nieuwe_breedte_klein < $oude_breedte || $nieuwe_breedte_klein < $oude_hoogte){ $schaal = ($nieuwe_breedte_klein/$oude_breedte); $nieuwe_hoogte = ceil($oude_hoogte*$schaal); $kleine_afbeelding = imagecreatetruecolor($nieuwe_breedte_klein,$nieuwe_hoogte); imagecopyresized($kleine_afbeelding,$afbeelding,0,0,0,0,$nieuwe_breedte_klein,$nieuwe_hoogte,$oude_breedte,$oude_hoogte); imagejpeg($kleine_afbeelding, "gebruikers/avaters/".$_SESSION['gid']."_klein.jpg"); } else{ copy("gebruikers/avaters/".$_SESSION['gid'].".jpg", "gebruikers/avaters/".$_SESSION['gid']."_klein.jpg"); } $nieuwe_breedte_medium = 250; if ($nieuwe_breedte_medium < $oude_breedte || $nieuwe_breedte_medium < $oude_hoogte){ $schaal = ($nieuwe_breedte_medium/$oude_breedte); $nieuwe_hoogte = ceil($oude_hoogte*$schaal); $kleine_afbeelding = imagecreatetruecolor($nieuwe_breedte_medium,$nieuwe_hoogte); imagecopyresized($kleine_afbeelding,$afbeelding,0,0,0,0,$nieuwe_breedte_medium,$nieuwe_hoogte,$oude_breedte,$oude_hoogte); imagejpeg($kleine_afbeelding, "gebruikers/avaters/".$_SESSION['gid']."_medium.jpg"); } else{ copy("gebruikers/avaters/".$_SESSION['gid'].".jpg", "gebruikers/avaters/".$_SESSION['gid']."_medium.jpg"); } } } ?>
|