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. 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
      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. merci mais je trouve pas ce qu'il me vaut pour mon code