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

PHP & Base de données Discussion :

class upload triangle noir pour conversion jpg


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut class upload triangle noir pour conversion jpg
    Bonsoir,
    j'ai trouvé une class pour uploader des images en les redimensionnant.
    Elle marche bien mais j 'aurai voulu qu'elle convertisse les images en jpg avant l upload.
    J 'ai trouver la fonction imagejpeg mais quand je la met cela me met des triangles noirs partout sur la page.
    Pouvez vous me dire ce qui ne va pas?

    Merci.

    Je ne vous mets que la fonction qui est concernée je pense ; tout a la fin j ai rajouté imagejpeg.

    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
    <?php
     private function uploadFile($file, $name, $directory, $newname, $sizemax, $type,$constraint) {
    		//print_r($directory.$name);
    			copy($file, $directory.$name) or die ("Impossible d'uploader le fichier");
    			$fullpath = $directory.$this->uploadedFileName ; // chemin complet de l'image sur le serveur
    		    // Si c'est un fichier image, on vérifie que c'est bien un fichier image (type MIME)
     
    			if ($constraint=="image") {
    				//echo $type;
    				if ($type!="image/jpeg" && $type!="image/png" && $type!="image/gif" && $type!="image/jpg") {
    					@unlink($fullpath);
    					echo '<script>alert("Ce n\'est pas un fichierr image ! + '.$type.'");</script>' ;
    				}
    			}
     
    			// redimensionnement si c'est un hom (home par exemple)
     
    			if ($constraint=="home") {
    				switch($type){
    					case "image/jpeg":
    						$function_image_create = "ImageCreateFromJpeg";
    						$function_image_new = "ImageJpeg";
    					break;
    					case "image/png":
    						$function_image_create = "ImageCreateFromPng";
    						$function_image_new = "ImagePNG";
    					break;
    			        case "image/gif":
                                                    $function_image_create = "ImageCreateFromGif";
                                                    $function_image_new = "ImageGif";
                                            break;
    				case "image/jpg":
                                                     $function_image_create = "ImageCreateFromJpeg";
                                                     $function_image_new = "ImageJpeg";
    					break;
    				case "image/pjpeg":
                                                     $function_image_create = "ImageCreateFromJpeg";
                                                     $function_image_new = "ImageJpeg";
    					break;
    				default:
    					@unlink($fullpath);
    					if ($newname=="avatar") {
    						echo '<script>alert("Votre avatar n\'est pas un fichier image, vous aurez donc l\'avatar par défaut !\n Vous pouvez toutefois le modifier dans votre profil.");</script>' ;
    					} else {
    						echo '<script>alert("Ce n\'est pas un fchier image !+'.$type.'");</script>' ;
    					}
    					exit;
    					break;
    				}
    				list($width, $height) = getimagesize($fullpath); // on récupère les dimensions de l'image
     
    				// si l'un des côté est supérieur à $sizemax, on redimensionne en conservant les proportions
    				if ($width>$sizemax || $height>$sizemax) {
     
    					$ratio = $height/$width;
    					$newheight = ($height > $width) ? $sizemax : $sizemax*$ratio;
    					$newwidth = $newheight/$ratio;
    					$home = ImageCreateTrueColor($newwidth,$newheight);
    					/**appel de la fonction a utiliser selon l'extension donnée**/
    					$source = @$function_image_create($fullpath);
    					ImageCopyResampled($home, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
     
    					@$function_image_new($home,$fullpath);
    					imagejpeg($home,NULL,$this->qualite);
    				}
    			}
     
    ?>

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    trouver merci.bonne soirée

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

Discussions similaires

  1. Librairie GD et GD2 pour conversion de pdf en jpg
    Par cybergud dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/06/2014, 16h56
  2. Réponses: 1
    Dernier message: 20/02/2012, 17h32
  3. Réponses: 2
    Dernier message: 15/12/2005, 11h08
  4. Conversion Jpg -> BMP
    Par ygor dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/04/2005, 16h26
  5. Conversion jpg -> bmp
    Par KNETUS dans le forum Assembleur
    Réponses: 15
    Dernier message: 10/08/2004, 18h16

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