Hoi! Ik heb een php-script geschreven waarmee een geüploade afbeelding wordt geplaatst in map1 en dat er een thumbnail wordt gemaakt en die zou moeten worden geplaatst in map2. Helaas wordt mijn afbeelding niet in de tweede map geplaatst... Dit is mijn hele code:

<?php

include("connection.php");
$titel = mysql_real_escape_string($_POST['titel']);
$bericht = mysql_real_escape_string(nl2br($_POST['bericht']));


//Extensie controleren
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/jpg"))

)
{


//Afbeelding random naam geven
$random = substr(number_format(time() * rand(),0,'',''),0,10); //Random naam maken
$info = pathinfo($_FILES['file']['name']); //Informatie krijgen van het bestand
$ext = $info['extension'];//Extensie krijgen
$newname = "$random.".$ext; //Nieuwe naam
$target = 'uploaded_images/'.$newname; //Pad naar de afbeelding

move_uploaded_file($_FILES["file"]["tmp_name"], $target); //Afbeelding in deze map zetten

if($_FILES['file']['type'] == "image/gif"){

$im = imagecreatefromgif($target);
}

if($_FILES['file']['type'] == "image/jpeg"){

$im = imagecreatefromjpeg($target);
}

if($_FILES['file']['type'] == "image/png"){

$im = imagecreatefrompng($target);
}

if($_FILES['file']['type'] == "image/jpg"){

$im = imagecreatefromjpeg($target);
}

echo $target;


list($ox, $oy, $type, $attr) = getimagesize($target);


$nx = 400;
$ny = floor($oy * (400 / $ox));

$nm = imagecreatetruecolor($nx, $ny);

$new_img = imagecopyresized($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy);

$target2 = 'thumbs/'.$im;

move_uploaded_file($new_img, $target2);

echo 'Afbeelding is opgeslagen in: ' .$target2;
}else{

echo 'Verkeerd bestandsformaat!';
}

?>

Edit:

Dit is de error die ik krijg:

uploaded_images/2949688522.pngAfbeelding is opgeslagen in: thumbs/Resource id #6
Blijkbaar wordt $im niet goed aangemaakt. Wat krijg je als je die echoet?
<?php
$im = imagecreatefromjpeg($target);
?>
$im is dus een plaatje, geen filename of iets dergelijks.
klopt regel 60 dan wel?
$target2 = 'thumbs/'.$im;
Nee, daarom krijgt hij daar 'thumbs/Resource id #6'
Dat Resource id #6 geeft aan dat het een handle is, geen string.
Hij? Ik ben een zij! Thanks voor het antwoord, het ik heb mijn script gefixt + ik snap nu hoe het werkt!
Misschien zou je nog de oplossing willen posten of de werkende versie.
Zo heeft misschien in de toekomst een forum gebruiker ook nog iets aan de uitkomst bij mogelijk zelfde probleem.
Wat ook makkelijk is de php class van verot.net. Deze class kan allerlei mooie dingen doen en ook uploaden.
gebruik hem bijna altijd!

Hier kan je ook plaatjes mee manipuleren, heb hem op het werk gebruikt samen met een imagecropper

Reageren