creer une vignette après un upload

creer une vignette après un upload - PHP - Programmation

Marsh Posté le 07-07-2006 à 11:58:35    

Bonjour,
 
j'ai créé pour un module de news un script qui permet d'uploader une image sur le serveur. Une fois l'upload réussi, un message indique l'adresse de l'image uploadée afin de la copier coller dans la news.
 
J'aimerais qu'en uploadant cette image, une vignette soie créée, et donc qu'on l'affiche dans la news en qu'en cliquant dessus, l'image originale apparaisse.
 
J'ai pu voir que c'était possible grâce à GD2 mais étant débutant en php je n'ai pas très bien compris le fonctionnement.
 
Voilà mon script d'upload :
 

Code :
  1. <?php
  2. //---------------------------------------------
  3. // DEFINITION DES VARIABLES LIEES AU FICHIER
  4. //---------------------------------------------
  5. $nom_file = $_FILES['fichier']['name'];
  6. $taille = $_FILES['fichier']['size'];
  7. $tmp = $_FILES['fichier']['tmp_name'];
  8. $target = "image/"; // Repertoire cible
  9. $extensions = array('.jpg', '.JPG' , 'jpeg', 'JPEG','.png','.PNG','.gif','.GIF'); // Extension du fichier sans le .
  10. $ext = strtolower(substr($nom_file,'-4'));
  11. $max_size = 100000; // Taille max en octets du fichier
  12. $width_max = 600; // Largeur max de l'image en pixels
  13. $height_max = 600;    // Hauteur max de l'image en pixels
  14. //----------------------
  15. // SCRIPT D'UPLOAD
  16. //----------------------
  17. if($_POST['posted']) {
  18.     // On vérifie si le champ est rempli
  19.     if($_FILES['fichier']['name']) {
  20.         // On vérifie l'extension du fichier
  21.         if (!in_array($ext, $extensions)) {
  22.             echo "L'extension du fichier n'est pas valide&nbsp;!\n";
  23.             exit();
  24.         }
  25.         else {
  26.            // On récupère les dimensions du fichier
  27.             $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
  28.              
  29.            // On vérifie les dimensions et taille de l'image
  30.             if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)){
  31.              // Si c'est OK, on teste l'upload
  32.                 if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
  33.                    // Si upload OK alors on affiche le message de réussite
  34.                     echo '<p align="center">';
  35.                     echo '<font face="Verdana" size="2" color="#FF0000">';
  36.                     echo '<b>Image uploadée avec succès !</b>';
  37.                     echo '</font>';
  38.                     echo '<hr>';
  39.                     echo '<b>Adresse du fichier à copier dans la news : </b>',htmlspecialchars('<img src="http://www.aaa.com/upload/image/'.$_FILES['fichier']['name'].'">');
  40.                     echo "</br>\n";
  41.                     echo '<b>Taille :</b> '.$_FILES['fichier']['size'].' Octets</br>';
  42.                     echo '<b>Largeur :</b> '.$infos_img[0].' px</br>';
  43.                     echo '<b>Hauteur :</b> '.$infos_img[1].' px</br>';
  44.                     echo '<hr>';
  45.                     echo '<br><br>';
  46.                 }
  47.                 else {
  48.                     // Sinon on affiche une erreur système
  49.                     echo '<p align="center">';
  50.                     echo '<font face="Verdana" size="2" color="#FF0000">';
  51.                     echo '<b>Problème lors de l\'upload !</b><br><br><b>'.$_FILES['fichier']['error'].'</b>';
  52.                     echo '</font><br><br>';
  53.                 }
  54.             }
  55.             else {
  56.                 // Sinon on affiche une erreur pour les dimensions et taille de l'image
  57.                 echo '<p align="center">';
  58.                 echo '<font face="Verdana" size="2" color="#FF0000">';
  59.                 echo '<b>Problème dans les dimensions ou taille de l\'image !</b>';
  60.                 echo '</font><br><br>';
  61.             }
  62.         }
  63.     }
  64.     else { //LIGNE 100  
  65.         // Sinon on affiche une erreur pour le champ vide
  66.         echo '<p align="center">';
  67.         echo '<font face="Verdana" size="2" color="#FF0000">';
  68.         echo '<b>Le champ du formulaire est vide !</b>';
  69.         echo '</font><br><br>';
  70.     }   
  71. }
  72. ?>


 
qu'est ce qu'il faut que je fasse ??
 
merci bp de votre aide

Reply

Marsh Posté le 07-07-2006 à 11:58:35   

Reply

Marsh Posté le 07-07-2006 à 12:06:27    

alpking a écrit :


 
Voilà mon script d'upload :
 


 
Non, voici le script d'upload que tu as pompé. Et tant qu'à faire, pompe un script qui vérifie le mime des images, parce que sinon, boujour la sécurité. :o
 
Ensuite, oui, tu peux redimmensionner les images et créer des vignettes. Tu télécharges la doc au format .chm (pratique pour les recherches) et tu te lances. Tu reviens nous voir quand tu comprends pas quelque chose de prcis dans la doc, sachant qu'elle regorge d'exemples.
 
Un dernier truc : il faut apprendre le PHP et pas vouloir forcément faire des choses compliquées dès le début, particulièrement si tu n'as aucune connaissance en programmation (je veux dire pour d'autres langages).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed