Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2007, 11h07   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 2
Points : 1
Points : 1
Par défaut Script de redimension d'image

bonjour,
J'ai trés peu de pratique en php, c'est pouquoi je voudrai avoir votre avis sur ce sript:

Code : PHP

Code :
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
<?
        $width_max = 500; //Largeur max de l'image en pixels. L'image est considérée comme miniature en dessous de cette taille
 
        $size = getimagesize($_SESSION['photoOK']);
 
        //on recupère les dimension de la photo
        $hauteur = $size[1];
        $largeur = $size[0];
 
        if($largeur > $width_max)
        {
                // Calcul des nouvelles dimensions
                $newHauteur = ($hauteur * $width_max) / $largeur ;
 
                //nom de la miniature
                $nomMiniature = "small".substr($_SESSION['photoOK'],10);
 
                // Redimensionnement
                $destination = imagecreatetruecolor($width_max, $newHauteur);
                $imageSource = imagecreatefromjpeg($_SESSION['photoOK']);
                imagecopyresampled($destination, $imageSource, 0, 0, 0, 0, $width_max, $newHauteur, $largeur, $hauteur);
                imagejpeg($destination, $nomMiniature);
                $_SESSION['photoOK'] = "photos/miniatures/".$nomMiniature;
                imagedestroy($imageSource);
 
        }
?>

sachant que $_SESSION['photoOK'] = "../photos/".$_FILES['photo']['name'];

Comme vous vous en doutez il ne fonctionne pas, mais je n'ai pas d'erreur. La miniature ne ce trouve pas dans son dossier...

merci pour votre aide
lyoan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h19   #2
Membre éclairé
 
Avatar de Space Cowboy
 
Inscription : avril 2005
Messages : 495
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 495
Points : 306
Points : 306
Personnellement, j'ai recement terminer ce genre de fonction, j'ai mis plusieures heures ...

Dans l'ordre
Citation:
<?php
// Chemin
$fichierSource $dest.'/'.$nom_cp;
// Lecture de l'image source
$image_source imagecreatefromjpeg($fichierSource);
// Création de la miniature, utilisé pour contenir l'image redimensionné
$image_Dest imagecreatetruecolor ($largeur_Dest$hauteur_Dest); 
// Copie l'image original dans la miniature créer
imagecopyresampled($image_Dest$image_source0000$largeur_Dest$hauteur_Dest$largeur_Source$hauteur_Source);
// Enregistrement de la miniature sur le serveur
imagejpeg($image_Dest,$dest.'/'.$img_nom_m,100);
?>
Il existe des tonnes d'exemple la création enregistrement de miniatures.


Juste pour info, tu faire ca aussi :
list($largeur_Source, $hauteur_Source, $type_Source, $attr) = getimagesize($_SESSION['photoOK']);
Pratique si tu veut gerer le jpg/png/gif ...
Space Cowboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h21   #3
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Alors je vois quelques erreurs:
  • Pour que la fonction getimagesize fonctionne tu dois lui passer la variable $_FILES['photo']['tmp_name'] alors que toi tu lui passe $_FILES['photo']['name']
  • Même erreur pour imagecreatefromjpeg tu dois lui passer $_FILES['photo']['tmp_name']
Sinon je ne vois pas d'autres erreurs... essaye de changer sa et dis moi si sa va tjs pas.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h23   #4
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Oups c'est faux ce que je viens d'écrire... Ceci doit être fait lorsqu'on upload une image...

Sorry
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h27   #5
Membre éclairé
 
Avatar de Space Cowboy
 
Inscription : avril 2005
Messages : 495
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 495
Points : 306
Points : 306
Citation:
<?php
                  $nom_du_fichiers 
$_FILES['fichiers']['name'][0];                              // Nom du fichier cible à uploader
                  
$nom_du_fichiers_temporaire $_FILES['fichiers']['tmp_name'][0];      // Nom du fichier dans le cache d'apache
                  
if (@copy($nom_du_fichiers_temporaire$dest.'/'.$nom_du_fichiers))      // $chemin

?>
Effectivement.
Space Cowboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h46.


 
 
 
 
Partenaires

Hébergement Web