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 automatiquement toutes les images contenu dans un repertoire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 26
    Points : 13
    Points
    13
    Par défaut redimensionner automatiquement toutes les images contenu dans un repertoire
    Bonjour a tous,

    Voilà j'ai un petit script qui me permet de créer des images redimensionnées (vignettes en quelque sorte).
    Le script fonctionne bien, il arrive a me redimendionner chaque image une à une. Le problème est lee suivant.
    Je voudrais qu'il me redimensionne toutes les imagess contenu dans le repertoire, car pour l'instant je suis obliger de le faire images par images.
    Voilà le script de redimensionnement :
    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
    <?php
    // Le fichier
    $filename = '1-4.jpg';
     
    // Définition de la largeur et de la hauteur maximale
    $width = 200;
    $height = 200;
     
    // Content type
    header('Content-type: image/jpeg');
     
    // Cacul des nouvelles dimensions
    list($width_orig, $height_orig) = getimagesize($filename);
     
    $ratio_orig = $width_orig/$height_orig;
     
    if ($width/$height > $ratio_orig) {
       $width = $height*$ratio_orig;
    } else {
       $height = $width/$ratio_orig;
    }
     
    // Redimensionnement
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
     
    // Affichage
    imagejpeg($image_p, NULL, 100);
    $miniature = "mini_$filename";
    Imagejpeg ($image_p, $miniature);
    ?>
    Comme on le vois sur le script je donne manuellement le nom de la photo et il la redimensionne.
    Ce que je recherche c'est que le script ouvre le repertoire
    Puis qu'il applique à chaque photo contenu dans le repertoire le redimensionement.
    j'imagine un fopen du repertoire contenant les photos.
    Puis un traitement automatique pour chaque photo contenu dans le répertoire.

    Seulement je ne sais pas faire cette boucle style tant que la lecture du repertoire n'est pas fini applique le redimensionnement à chaque photo.

    Voilà en gros j'imagine qu'il s'agit de faire un boucle sur la lecture du repertoire et de traiter chaque fichier.

    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    re,

    si je ne me trompe pas il faudrais que je regarde du cote de scandir() non ?
    Liste les fichiers et dossiers dans un dossier

    alors peut être pourrais je attribuer chaque photo a une image non ?

    je reste à l'écoute de vos suggestion et connaissances
    merci

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour, et désolé mais pas de temps pour regarder ta méthode,
    alors en attendant, voici un PHP complet qui fait ce que tu souhaite

    Je supposes que tes originaux grande taille sont dans un répertoire
    0workori/
    que ton résultat ira avec le même nom dans
    0workori/
    0workdesti/
    que ce sont des jpeg


    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
     
    <?PHP
    $data = glob('0workori/*.jpg'); 
    ?>
    <html>
    <body>
    <p align="center">
    <?PHP
    foreach( $data as $filename)
      {
        if (is_file($filename))
         {
           $work= $filename;
           $Une_Image =$work;
           $work2=str_replace("orkori","orkdesti",$work);
    $max = "200";
    $source = imagecreatefromjpeg($Une_Image);
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
     
    if ($largeur_source > $hauteur_source) {
    	$largeur_destination = $max;
    	$hauteur_destination = $hauteur_source / $largeur_source * $max;
    } else {
    	$hauteur_destination = $max;
    	$largeur_destination = $largeur_source / $hauteur_source * $max;
    }
     
    $destination = imagecreatetruecolor($largeur_destination,$hauteur_destination);
     
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
    imagejpeg($destination, $work2);
     
    echo "<br /><img src='".$work2."'>";
     
         }
       }
    ?>
      <br /></p>
    </body>
    </html>
    Voial tiens moi au courant

  4. #4
    Invité
    Invité(e)
    Par défaut
    Fonctions de redimensionnement d'images
    Utilisation dans un dossier :
    http://j-reaux.developpez.com/tutori...r-image/#LVIII

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Merci pour ces codes je vais les tester voir les adapter et je vous tiens au courant.

    Merci

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    merci exactement ce que je cherchais, cela m'évite de perdre des cheveux pour rien
    grand merci à vous FoxLeRenard et jreaux62

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

Discussions similaires

  1. [Débutant] Mettre toutes les images contenu dans une directory dans un lisbox
    Par malek363 dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 20/01/2014, 11h11
  2. Réponses: 2
    Dernier message: 23/12/2009, 12h05
  3. [O-00] Afficher les images contenu dans un message
    Par Brunodm13 dans le forum Outlook
    Réponses: 5
    Dernier message: 17/12/2008, 18h53
  4. Récuperer tout les informations contenu dans ma JSP
    Par skillipo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 19/02/2008, 16h34
  5. Extraire les images contenues dans un fichier word
    Par elreybubu dans le forum Delphi
    Réponses: 2
    Dernier message: 25/10/2006, 13h07

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