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 :

Redimensionnement d'image en PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut Redimensionnement d'image en PHP
    Salutations,

    Je cherche, pour un site de photos, à mettre au point un petit script qui pourrait me permettre de faire une copie redimensionnée de photos uploadées dans un dossier, et placer ces copies dans un sous dossier "thumbs".

    La seule chose que j'arrive à faire, c'est à les resizer à la volée, mais elle ne sont pas enregistrées ensuite...

    J'ai trouvé cela, mais jen 'arrive pas a sauver la copie resizée dans le dossier "thumbs" :

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?
     
    $img_src_chemin = "/";
    $img_dst_chemin = "thumbs/";
     
     
    // Déterminer l'extension à partir du nom de fichier
    $extension = substr( $img_src_chemin, -3 );
    // Afin de simplifier les comparaisons, on met tout en minuscule
    $extension = strtolower( $extension );
     
    switch ( $extension ) {
     
        case "jpg":
        case "peg": //pour le cas où l'extension est "jpeg"
            $img_src_resource = imagecreatefromjpeg( $img_src_chemin );
            break;
     
    	case "JPG":
        case "PEG": //pour le cas où l'extension est "jpeg"
            $img_src_resource = imagecreatefromjpeg( $img_src_chemin );
            break;
     
        case "gif":
            $img_src_resource = imagecreatefromgif( $img_src_chemin );
            break;
     
        case "png":
            $img_src_resource = imagecreatefrompng( $img_src_chemin );
            break;
     
        // On peut également ouvrir les formats wbmp, xbm et xpm (vérifier la configuration du serveur)
     
        default:
            echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpeg, gif, png";
            break;
    }
     
    //Pour créer une image de destination de 100 pixels de large sur 200 de haut
    $img_dst_resource = imagecreatetruecolor( 100, 200 );
     
    // Exemple avec imagesx() et imagesy()
    $img_src_width = imagesx( $img_src_resource );
    $img_src_height = imagesy( $img_src_resource );
     
    // Exemple avec getimagesize()
    // getimagesize renvoie un tableau
    // Ce tableau contient la largeur, la hauteur, un entier représentant le type d'image, et
    // une chaîne width/height pouvant être insérée dans une balise img.
    //  Je vous laisse lire la documentation pour les détails techniques
    list( $img_src_width, $img_src_height ) = getimagesize($img_src_chemin);
     
    // Vérifions tout d'abord que nous pouvons enregistrer le fichier
    $handle = fopen( $img_dst_chemin, "w" );
    if ( !$handle ) {
        echo "Impossible d'écrire l'image. Vérifiez le chemin, et les droits du serveur.";
        exit;
    }
    fclose( $handle );
     
    // Pour enregistrer au format jpg
    imagejpeg( $img_dst_resource, $img_dst_chemin );
    // Un troisième argument est disponible, le niveau de compression
    // S'il n'est pas fourni la valeur 75 est utilisée
     
    // Pour enregistrer au format png
    imagepng( $img_dst_resource, $img_dst_chemin );
     
    // Pour enregistrer au format gif
    imagegif( $img_dst_resource, $img_dst_chemin );
     
    // Pour enregistrer au format wbmp
    imagewbmp( $img_dst_resource, $img_dst_chemin );
     
    ?>
    Si quelqu'un à une idée...

  2. #2
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    As tu un message d'erreur ou quelque chose?

  3. #3
    Membre éclairé Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    As tu un message d'erreur ou quelque chose?
    Pour l'instant, oui :
    L'image n'est pas dans un format reconnu. Extensions autorisées : jpeg, gif, pngImpossible d'écrire l'image. Vérifiez le chemin, et les droits du serveur.
    En même temps, il se peut aussi que ce soit le fichier JPG en lui même. Ce sont des photos numériques, et elle sont par defaut en majuscules (par ex: IMG_6368.JPG).

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2008
    Messages : 43
    Par défaut
    Salut,

    Au vue du code que tu envois, ça ne peux pas fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $img_src_chemin = "/";
    $img_dst_chemin = "thumbs/";
     
     
    // Déterminer l'extension à partir du nom de fichier
    $extension = substr( $img_src_chemin, -3 );
    Tu demandes de faire un substr sur $img_src_chemin, or comme je le vois là tu le fais sur "/", donc il n'y a pas d'extension.

    Donc à moins de ne pas avoir mis tout ton code, ça ne peut pas fonctionner.

    A++

  5. #5
    Membre éclairé Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut
    Citation Envoyé par extraman1 Voir le message
    Salut,

    Au vue du code que tu envois, ça ne peux pas fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $img_src_chemin = "/";
    $img_dst_chemin = "thumbs/";
     
     
    // Déterminer l'extension à partir du nom de fichier
    $extension = substr( $img_src_chemin, -3 );
    Tu demandes de faire un substr sur $img_src_chemin, or comme je le vois là tu le fais sur "/", donc il n'y a pas d'extension.

    Donc à moins de ne pas avoir mis tout ton code, ça ne peut pas fonctionner.

    A++
    Indeed.
    Maintenant, j'ai trouvé ce code... Mais je ne suis pas contre en faire un de toute pièce... Si on m'aide...

  6. #6
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    extraman1 t'a donné la solution... il faut que tu passes le chemin du fichier à modifier à $img_src_chemin.

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

Discussions similaires

  1. [GD] Redimensionnement d'images vignette en PHP
    Par link.80 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 26/11/2011, 12h38
  2. Adapter le 2 scripts php ,pour un redimensionnement d'image
    Par artandsports dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2009, 19h03
  3. [PHP-JS] pb avec un redimensionnement d'image
    Par jexl dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2006, 10h09

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