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

Bibliothèques et frameworks PHP Discussion :

[GD] Redimensionner une image


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut [GD] Redimensionner une image
    je n'arrive pas à trouver de script et de tuto à ce sujet.

    DANS MON CAS

    1.Je voudrais télécharger une image à partir d'un formulaire (pas de problème à ce niveau, j'y arrive.... )

    2.Redimmensionner l'image en X par X (défini par moi en fonction de la page) en sachant que j'accepte du format gif, png, jpg.....

    3.Stocker dans un repertoire images/ (la grande image)
    4.Stocker dans un repertoire images/thumb (la ptite !)

    mais la je ne sais pas comment faire ni même ou placer le script dans ma page

    est-ce que je dois utiliser la meme chose que move upload files, je vous en suppli aider moi........

    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
     
    {
    	//IMAGE
    	$dossier = 'media/flag/';
    		$fichier = basename($_FILES['avatar']['name']);
    	   $taille_maxi = 100000;
    		$taille = filesize($_FILES['avatar']['tmp_name']);
    		$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    		$extension = strrchr($_FILES['avatar']['name'], '.');
    		//IMAGE
    	function continent($continent) { return empty($continent); }
    	function country($country) { return empty($country); }
    	function iso($iso) { return empty($iso); }
    	function exist($country, $continent) { 
       		$sql='SELECT * FROM nation_country WHERE nation_country LIKE "'.addslashes($_POST['country']).'" AND nation_continent_ID LIKE "'.$_POST['continent'].'"';
       		$res=@mysql_query($sql); 
       		return mysql_num_rows($res);
    		}  
    	$form=1; 
    	if (isset($_POST['envoyer'])||isset($_POST['envoyer_x'])||isset($_POST['envoyer_y'])) {
    		$continent=(!isset($_POST['continent']))?(''):($_POST['continent']);
    	   $country=(!isset($_POST['country']))?(''):($_POST['country']);
    	   $avatar=(!isset($_POST['avatar']))?(''):($_POST['avatar']);//IMAGE
    	   $iso=(!isset($_POST['iso']))?(''):($_POST['iso']);
    	   $msg='';
    	   if( continent($continent) ) $msg.='<li>The field <strong>continent</strong> is empty !</li>';
    	   if( country($country) ) $msg.='<li>The field <strong>country</strong> is empty !</li>';
    	   if( iso($iso) ) $msg.='<li>The field <strong>iso</strong> is empty !</li>';
    	   else { 
       		if( exist($country, $continent) ) $msg.="<li>The combinaison <strong>continent/country</strong> already exist !</li>";}
    		//IMAGE
    		$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    			 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			 if (!empty($fichier)) { 
    			 if (!in_array($extension, $extensions)) $msg.="<li>Vous devez uploader un fichier de type png, gif, jpg, jpeg</li>";
    			 if($taille>$taille_maxi) $msg.="<li>Le fichier est trop gros...!</li>";
     
    			 };
    	   if( empty($msg) ) { 
    		  if($form=='0') $msg.='Une erreur est survenue lors de l\'insertion d\'un client'; 
    		 else { 
    			$form=0;
    			//REDIMENSION
     
    			//REDIMENSION
    			 move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier);
    			$requeteSQL='INSERT INTO nation_country (id_nation_country, nation_country, nation_country_iso, nation_continent_ID, logmaj, datemaj) VALUES ("", "'.addslashes($_POST['country']).'", "'.$_POST['iso'].'", "'.$_POST['continent'].'", "'.$_SESSION['GPR_loginID'].'", now() )';
    			$resultSQL=mysql_query($requeteSQL);	
    		 } 
    	}
    	}
    	?>

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    tu veux faire une gallerie photo en gros , tu as donc besoin de la gallerie GD :

    http://php.developpez.com/cours/#bibliotheques-gd
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    grace au script trouver sur ce magnifique site, il me transfert bien l'image mais cette dernière fais 0 ko.... pfffff
    je sais meme pas si il gere les dimensions

    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
     
    //IMAGE
    		$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    			 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			 if (!empty($fichier)) { 
    			 if (!in_array($extension, $extensions)) $msg.="<li>Vous devez uploader un fichier de type png, gif, jpg, jpeg</li>";
    			 if($taille>$taille_maxi) $msg.="<li>Le fichier est trop gros...!</li>";
     
    			 };
    	   if( empty($msg) ) { 
    		  if($form=='0') $msg.='Une erreur est survenue lors de l\'insertion d\'un client'; 
    		 else { 
    			$form=0;
    			//REDIMENSION
    			$maxHeight='15';
    			//Créer une image à partir de $file
        $img = ImageCreateFromJpeg($_FILES['avatar']['tmp_name']);
        //Dimensions de l'image
        $imgWidth = imagesx($img);
        $imgHeight = imagesy($img);
        //Facteur largeur/hauteur des dimensions max
        $whFact = $maxWidth/$maxHeight;
        //Facteur largeur/hauteur de l'original
        $imgWhFact = $imgWidth/$imgHeight;
        //fixe les dimensions du thumb
        if($whFact < $imgWhFact){//Si largeur déterminante
            $thumbWidth  = $maxWidth;
            $thumbHeight = $thumbWidth/$imgWhFact;
        } else { //Si hauteur déterminante
            $thumbHeight = $maxHeight;
            $thumbWidth = $thumbHeight*$imgWhFact;
        }
     
        //Crée le thumb (image réduite)
        $imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
        //Insère l'image de base redimensionnée
        ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
        //Nom du fichier thumb
        $imgThumbName = $dossier."/thumb_".$fichier;
        //Crée le fichier thumb
        $fp = fopen($imgThumbName, "w");
        fclose($fp);
    			//REDIMENSION
    			 move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier);

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

Discussions similaires

  1. [VB.NET] Redimensionner une image dans un PictureBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 05/04/2007, 18h24
  2. [32 bits] Redimensionner une image JPEG/GIF/PNG...
    Par CR_Gio dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 04/10/2005, 00h57
  3. Redimensionner une image...
    Par RhaZieL dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 22/07/2005, 09h30
  4. [VB.NET] Redimensionner une image proportionnelement
    Par Monster77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/10/2004, 12h10
  5. [MX2004] redimensionner une image lors du chargement
    Par ouinouin dans le forum Flash
    Réponses: 8
    Dernier message: 18/02/2004, 18h32

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