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 05/03/2007, 23h02   #1
Membre à l'essai
 
Inscription : décembre 2003
Messages : 107
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : décembre 2003
Messages : 107
Points : 21
Points : 21
Par défaut 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 :
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);	
		 } 
	}
	}
	?>
jarod71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 23h06   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
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
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 23h43   #3
Membre à l'essai
 
Inscription : décembre 2003
Messages : 107
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : décembre 2003
Messages : 107
Points : 21
Points : 21
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 :
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&#39;image
    $imgWidth = imagesx($img);
    $imgHeight = imagesy($img);
    //Facteur largeur/hauteur des dimensions max
    $whFact = $maxWidth/$maxHeight;
    //Facteur largeur/hauteur de l&#39;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);
jarod71 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 14h53.


 
 
 
 
Partenaires

Hébergement Web