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 :

Redimensionner une image uploadée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut Redimensionner une image uploadée
    Bonjour à tous,
    voilà j'ai un problème d'organisation de code je pense.
    après m'être inspirée de pas mal de tuto, j'ai réussie à uploader des images dans un dossier dédié, mais je n'arrive pas à les redimensionner...
    Pouvez vous m'aider, voici mon code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="upload_thumbs.php" method="post" enctype="multipart/form-data" name="form2">
    <select name="genre" size="1" id="genre">
      <option value="0">choisir une galerie</option><?php include('trtid_gal.php');?></select>
    <br />
    <!-- Téléchargement des vignettes <input name="select_thumbs" type="file" /><br />-->
    Téléchargement des photos <input name="select_photo" type="file" id="select_photo"/><br />
    <input name="envoyer" type="submit" value="envoyer" />
    </form>
    ça c'est la partie formulaire.

    Voici le fichier upload_thumbs.php:

    Code : 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
    50
    <?php
    $dossier = 'images\thumbs/';
    $fichier = basename($_FILES['select_photo']['name']);
    $taille = filesize($_FILES['select_photo']['tmp_name']);
    $extensions = array('png', 'gif', 'jpg', 'jpeg');
    $extension = strrchr($_FILES['select_photo']['name'], '.'); 
    $extension = strtolower (substr(strrchr($_FILES['select_photo']['name'],'.'),1));
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {$dst_w='95';
    $dst_h='60';
       // Lit les dimensions de l'image
       $size = GetImageSize($fichier);  
       $src_w = $size[0]; $src_h = $size[1];
       // Teste les dimensions tenant dans la zone
       $test_h = round(($dst_w / $src_w) * $src_h);
       $test_w = round(($dst_h / $src_h) * $src_w);
       // Si Height final non précisé (0)
       if(!$dst_h) $dst_h = $test_h;
       // Sinon si Width final non précisé (0)
       elseif(!$dst_w) $dst_w = $test_w;
       // Sinon teste quel redimensionnement tient dans la zone
       elseif($test_h>$dst_h) $dst_w = $test_w;
       else $dst_h = $test_h;
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
     
         if(move_uploaded_file($_FILES['select_photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
    		  echo $fichier;
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    ?>
    Voilà, navrée pour la présentation du code, ça ne m'a pas l'air trés clair...
    Je pense qu'il va vous paraître assez maladroit, néanmoins si vous pouvez prendre le temps de lire et d'en faire une critique je vous en serais reconnaissante.

    Voici le message d'erreur ...
    Warning: getimagesize(leasapho08-08-1-.JPG) [function.getimagesize]: failed to open stream: No such file or directory in C:\EasyPHP 2.0b1\www\latentedanslesetoiles\admin\upload_thumbs.php on line 23

    Warning: Division by zero in C:\EasyPHP 2.0b1\www\latentedanslesetoiles\admin\upload_thumbs.php on line 26

    Warning: Division by zero in C:\EasyPHP 2.0b1\www\latentedanslesetoiles\admin\upload_thumbs.php on line 27
    Upload effectué avec succes !

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonsoir,

    J'ai créé une classe qui permet de faciliter le redimensionnement des images, tu peux la trouver dans ce post où j'explique brièvement son utilisation au travers d'un exemple :

    http://www.developpez.net/forums/d68...tionnel-image/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut
    OUhahou c'est super complet!
    ce qui m'embête tout de même, c'est que le code dont je me suis servie pour redimensionner mes images fonctionnait très bien jusqu'à ce que l'ajoute au traitement de upload...
    je débute et je n'ai jamais utilisé de classje vais me pencher là dessus et j'éspère pouvoir mettre la mention "résolu" dés demain! Merci beaucoup c'est la "classe"

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut
    Bon décidement je patoge dans la semoule voici le résultat :
    Warning: require_once(thumbsbuilder.class.php) [function.require-once]: failed to open stream: No such file or directory in C:\EasyPHP 2.0b1\www\latentedanslesetoiles\admin\galerie2_class.php on line 52

    Fatal error: require_once() [function.require]: Failed opening required 'thumbsbuilder.class.php' (include_path='.;C:/EasyPHP 2.0b1\php5\pear\') in C:\EasyPHP 2.0b1\www\latentedanslesetoiles\admin\galerie2_class.php on line 52
    No such file or directory c'est déjà ce style d'erreur que j'avais au moment du redimensionnement des images...
    Si quelqu'un a le courage de jeter un oeil à mon code plus haut... je désespère

  5. #5
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Cela signifit que lorsque tu inclue la classe thumbs_builder, tu ne fais pas référence à un chemin de fichier existant.

    À quoi ressemble l'arborescence de tes fichiers, et plus précisemenent, où se situe la classe thumbs_builder par rapport au fichier qui l'utilise ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour ma part, je peux te proposer des fonctions de redimensionnement d'images :
    http://j-reaux.developpez.com/tutori...sionner-image/

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/08/2012, 11h28
  2. redimensionner une image au moement de l'upload
    Par etienne.clopeau dans le forum Django
    Réponses: 2
    Dernier message: 16/11/2009, 18h41
  3. [Images] Redimensionner une image avant upload
    Par Baldy dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/05/2009, 13h07
  4. [ImageMagick] Redimensionner une image à l'upload
    Par dembroski dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/07/2007, 16h23
  5. [Upload] Redimensionner une image après upload
    Par putubudiarta dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2007, 12h32

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