IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redimensioner une image uploadée


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut Redimensioner une image uploadée
    Bonsoir, j'ai quelque difficulté à uploadé une image que j'ai modifié la taille dans le dossier. En faite, l'image est bien uploadé, mais pas modifié, elle a la même taille. Pouvez vous m'aider ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?php
    if(!empty($_POST['miniature']) && ($i == 0))
    { 
    $dossier = 'images/';
    $source = str_replace(' ','',$dossier)."".$_FILES['chercher_avatar']['name'];
    $taillemax = round($_POST['miniature']); //round : On arrondi 
     
    $img = getimagesize($source); 
    $x=$img[0];
    $y=$img[1];
     
    if ($x > $y)
         {
         $y=$y*(($taillemax)/$x);
         $x=$taillemax;
         }
         if ($y > $x)
         {
         $x=$x*(($taillemax)/$y);
         $y=$taillemax;
         }
         if ($y == $x)
         {
         $x=$taillemax;
         $y=$taillemax;
         }
     
    echo "<img src=\"$source\" width=\"$x\" height=\"$y\" title=\"X = $x et Y = $x\"/>"; 
     
     
    $avatar = time(); //Nom de l'image uploadé
    $avatar = "avatars/".str_replace(' ','',$avatar).".".$extension_upload;
    move_uploaded_file($_FILES['chercher_avatar']['tmp_name'],$avatar);
    }
    ?>

    Merci, d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu ne redimensionnes pas ton image la, tu changes juste sa taille d'affichage :
    http://j-reaux.developpez.com/tutori...sionner-image/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Ha, merci. Je vais voir sa.

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Par défaut
    un simple petit morceaux de code qui peut-être sera utile :
    (cela fait un thum à 75px de hauteur)
    $photosource = le fichier envoyé par la page web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $photothumb75 = $photoname."-75.jpg"; # 
    $file = $photosource;
    $src = ImageCreateFromJPEG($file); 
    $filesize = filesize($file); 
    $org_h = imagesy($src); 
    $org_w = imagesx($src); 
    $cfg->width = 75; 
    $cfg->height = floor ($cfg->width * $org_h / $org_w); 
    $img = imagecreatetruecolor($cfg->width,$cfg->height); 
    ImageCopyResampled ($img, $src, 0, 0, 0, 0, $cfg->width, $cfg->height, $org_w, $org_h ); 
    ImageJPEG($img, $photothumb275, 100); //save file with 100 quality 
    ImageDestroy ($img); //free resources from the image 
    ImageDestroy ($src);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Bonjour, j'ai un petit problème de couleurs... j'arrive maintenant à redimensionner une image mais, elle est redimensionner avec un fond noir.

    J'arrive pas à comprendre pourquoi....


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
    if (!empty($_FILES['chercher_avatar']['size']))
    {
    $image_avant_mini = $_FILES['chercher_avatar']['tmp_name'];
    $nom_mini = time();
    if($_FILES['chercher_avatar']['type'] == "image/gif")
    {
    $source = imagecreatefromgif($image_avant_mini); // La photo est la source
    }
     
    if($_FILES['chercher_avatar']['type'] == "image/png")
    {
    $source = imagecreatefrompng($image_avant_mini); // La photo est la source
    }
     
    $taille_mini = round($_POST['miniature']);
    $destination = imagecreatetruecolor($taille_mini, $taille_mini); // On crée la miniature vide
     
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
     
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);
     
    // On crée la miniature
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
    if ($_FILES['chercher_avatar']['error'] == 0)
    {
    if($_FILES['chercher_avatar']['type'] == "image/gif")
    {
    // On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
    imagegif($destination, "$nom_mini-$taille_mini.gif");
    }
     
    if($_FILES['chercher_avatar']['type'] == "image/png")
    {
    // On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
    imagepng($destination, "mini-$taille_mini.png");
    }
    echo"Image bien redimenssioner !";
    }
    else
    {
    echo"erreur";
    }
    }
    ?>

    Merci, de votre aide

    Edit :

    C'est bon, j'ai trouvé pour le fond noir. J'ai remplacé :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >$destination = imagecreatetruecolor($taille_mini, $taille_mini); // On crée la miniature vide
    Par :
    >$destination = imagecreate($taille_mini, $taille_mini); // On crée la miniature vide

    Est c'est bon

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Bonsoir, je viens de finir mon script à 50%. C'est déjà bien

    Ce que j'ai fait, c'est :

    • Upload de l'image sans redimensionnement
    • Upload de l'image avec redimensionnement


    Ce qui me manque, c'est :

    • Upload de l'image par URL sans redimensionnement
    • Upload de l'image par URL avec redimensionnement


    Voila, c'est pour la seconde partie, que je ne c'est pas comment faire.
    Je c'est uploadé des images provenant d'une URL, la ce n'est pas le problème.

    Mon où plutôt mes problèmes sont que je ne c'est pas comment faire :

    • Verifier que l'image envoyé est bien une image
    • Vérifier que l'image ne dépasse pas les autorisations (taille & poids)


    Merci, d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille en pixel d'une image à upload
    Par dieudo dans le forum VB.NET
    Réponses: 10
    Dernier message: 11/03/2008, 11h48
  2. Réponses: 3
    Dernier message: 08/07/2007, 18h29
  3. Réponses: 6
    Dernier message: 22/05/2007, 11h01
  4. Redimensioner une image en fonction de la hauteur utile de la fenêtre
    Par minogttao dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/12/2006, 23h09
  5. [Upload] Renommer une image uploadée
    Par Empty_body dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 06h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo