Creé miniature PHP

Bonjour,
voila actuellement j'ai un code en php pour uploads sur mon serveur mais je voudrai savoir comment faire pour creé un miniature automatique voici mon code

<?php
define('UPLOAD_DIR', 'uploads/');
$target_path = UPLOAD_DIR.basename( $_FILES['uploadedfile']['name']);
while(file_exists($target_path))
{
	$name = pathinfo($target_path, PATHINFO_FILENAME);
	$ext = pathinfo($target_path, PATHINFO_EXTENSION);
	$target_path = UPLOAD_DIR.$name.rand(0, 9).'.'.$ext;
}
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo '<p><a href="'.$target_path.'">'. $target_path.'</a></p>';
} else{
    echo "There was an error uploading the file, please try again!";
}
?>
<form enctype="multipart/form-data" name="form1" method="post" action="#">
    <tr>
        <td>Images:</td>
        <td><input size="15" type="hidden" name="MAX_FILE_SIZE" value="9999999" /><input name="uploadedfile" type="file" /></td>
    </tr>
    <div align="center"><input type="submit" name="envoi" value="Validez"></div>
</form>


J'ai tros besoin de votre aidez.
Configuration: Windows Vista
Firefox 3.5.1

6 réponses

  1. <?php

    // éditez les 2 variables ci-dessous en fonction du résultat souhaité :
    $largeur = "100"; // correspond à la largeur de l'image souhaitée
    $hauteur ="100"; // correspond à la hauteur de l'image souhaitée

    // et voici la création de la miniature...
    header("Content-Type: image/jpeg");
    $img_in = imagecreatefromjpeg($pic);
    $img_out = imagecreatetruecolor($largeur, $hauteur);
    imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
    $t = imagejpeg($img_out);
    echo $t;
    ?>

    Et comment je fais après ?

    Et bien, c'est très simple ! Votre image non réduite est située ici : http://www.votresite.com/img/monimage.jpg. Sur votre site, vous avez placé le code ci-dessous pour afficher l'image.

    <img border="0" src="http://www.votresite.com/img/monimage.jpg">

    Maintenant, pour afficher la miniature, remplacez ce code par celui-ci :

    <img border="0" src="http://www.votresite.com/miniature.php?pic=http://www.votresite.com/img/monimage.jpg">

    En etudiant ce code vous dovez pouvoir l'adapter à ton besoin
    1. merci mais je trouve pas ce qu'il me vaut pour mon code
      1. Vérifie que ton hébergeur à activé la bibliothèque GD..

        Je vais mettre du code mais ça doit être sensiblement le même que Highness

        // tu appelles ton image comme ça warning c'est du PHP !!
        
        <img src="../img_site/makeicon.php?image=chemin de ton image">
        


        ton fichier makeicon.php pour des miniatures de 100x100px :

        
        list($larg, $haut) = getimagesize('chemin complet de ton image');
        // récupère les tailles (hauteur et largeur)
        			
        $image = imagecreatefromjpeg('chemin complet de ton image');
        // Crée ton image dans le cache
        			
        $miniature = imagecreatetruecolor(100, 100);
        // crée l'image de 100 100 vide
        			
        $resize = imagecreatetruecolor($larg/1.5, $haut/1.5);
        // réduit la taille de ton image de départ
        			
        imagecopyresampled($resize, $image, 0, 0, 0, 0, $larg/1.5, $haut/1.5, $larg, $haut);
        // retaille ton image
        			
        imagecopymerge($miniature, $resize,0 ,0 ,($larg/1.5-100)/2 ,($haut/1.5-100)/2 ,100 ,100, 100);
        // associe les deux images
        			
        header("Content-type : image/jpeg");
        //envoie l'image au navigateur puis vide le cache du serveur
        			imagejpeg($miniature);
        			imagedestroy($miniature);
        			imagedestroy($image);
        			imagedestroy($resize);
        
        
        1. En effet
          J'ai une sortie à l'écran de plein de caractère d'en tête de fichier.
          J'ai l'impression qu'il manque quelque chose au code pourtant la GD est activé et présent sur mon serveur