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 :

Conversion d'image


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut Conversion d'image
    Bonjour à tous. Je vous explique mon souçis.
    Je développe un site pour un professionnel, et j'y ai ajouté un script pour que la personne puisse ajouter des images sur le ftp ( et sql... ).
    Cependant, il m'a demandé de ne pas avoir à retoucher les images lui-même, par manque de connaissance etc... Donc, j'ai géré le redimensionnement, la qualité, etc...
    Tout est opérationnel. Seul problème : je ne peut travailler QUE sur des jpg...
    Et il me faut absolument trouver un moyen de convertir les bmp, png et gif en JPG, et ce en php.
    Existe-t-il de telles fonctions ? Je n'ai pas trouvé... Des idées ?

    Si besoin, je donne une partie de mon script pour m'aider à trouver une solution.

    Je vous remercie par avance !

    Cordialement,

    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
     
    		$nomFichier = $_FILES['image1']['name'];
    		$extension = strstr("$nomFichier",".");
    		if(($extension!=".jpg")&&($extension!=".png")&&($extension!=".bmp")&&($extension!=".gif"))
    			$infoTransfert ='<b>Erreur !</b> Extension non reconnue, l\'image doit &ecirc;tre du type <b>.jpg .bmp .gif</b> ou <b>.png</b>.<br /><br /><a href="ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'image.';
    		else
    		{
    			include("../connexion.php");
    			$requete = mysql_query("SELECT MAX(numImage) FROM image");			
    			$ligne = mysql_fetch_array($requete);
    			$numImage = $ligne[0]+1;					
    			$decomposition = explode(".","$nomFichier");
    			$nomImage = $decomposition[0];	
    			$extension = $decomposition[1];
    			$extension = strtolower($extension);	
    			$imageDepart = $_FILES['image1']['tmp_name'];	
    			$target = './imagesProjet'.$numProjet;
    			$taille = getimagesize($imageDepart);
    			if (!$taille[1]) { $infoTransfert = '<b>Erreur !</b>Taille non reconnue, prendre contact avec l\'administrateur.<br /><br /><a href="ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'image.'; }
    			else
    			{
    				if(!is_dir($target)) { mkdir('./imagesProjet'.$numProjet, 0700); }
    				if(!is_dir($target."/minis")) { mkdir('./imagesProjet'.$numProjet.'/minis', 0700); }
    				if(!is_dir($target."/normales")) { mkdir('./imagesProjet'.$numProjet.'/normales', 0700); }
    				$nouvelleLargeurMini = 100;
    				$nouvelleHauteurMini = 80;
    				$nouvelleLargeurNormale = 500;
    				$nouvelleHauteurNormale = 350;
    				$nomImageMini = $numImage.'mini.jpg';
    				$nomImageNormale = $numImage.'.jpg';
    				$imageMini =imagecreatefromjpeg($imageDepart);	
    				$imageNormale = imagecreatefromjpeg($imageDepart);
    				$imageEnCouleursVraiesMini = imagecreatetruecolor($nouvelleLargeurMini, $nouvelleHauteurMini);
    				$imageEnCouleursVraiesNormale = imagecreatetruecolor($nouvelleLargeurNormale, $nouvelleHauteurNormale);
    				imagecopyresampled($imageEnCouleursVraiesMini, $imageMini, 0, 0, 0, 0, $nouvelleLargeurMini, $nouvelleHauteurMini, $taille[0], $taille[1]);
    				imagecopyresampled($imageEnCouleursVraiesNormale, $imageNormale, 0, 0, 0, 0, $nouvelleLargeurNormale, $nouvelleHauteurNormale, $taille[0], $taille[1]);
    				imagejpeg($imageEnCouleursVraiesMini, $target."/minis/".$nomImageMini, 80);
    				imagejpeg($imageEnCouleursVraiesNormale, $target."/normales/".$nomImageNormale, 80);
    				$test = "move mini ok";
    				$test2 = "move normale ok";
    				chmod($imageDepart, 0777);
    				$requete2 = "INSERT INTO image VALUES ( '$numImage','$numImage.$extension',' ','$numProjet');";
    				$resultat2 = mysql_query($requete2,$connexion);
    				$ligne2 = mysql_fetch_assoc($resultat2);
    			}
    		}

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut
    Hello,

    imagecreatefromjpeg/imagejpeg sert à travailler sur les JPEG
    imagecreatefrompng sur les png...

    Il faut que tu fasse une vérification du mime type du fichier upload puis un switch pour varier la fonction à utiliser.

    Allright?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Not All Right !!! xD

    J'ai à peu près compris le principe... En fait on vérifie l'extension ( =type mime ? ) et en fait je mets les lignes ou y'a les fonctions imagecreatefromjpeg, imagecreatetruecolor, imagecopyresampled et imagejpeg dans un switch ?
    Mais le problème, c'est qu'à la fin j'aurais quand même des png, bmp, gif ? et ça risque pas de poser de problème pour le redimensionnement, la perte de qualité, etc ? parce que si y'a des bmp j'vais me retrouver avec des fichiers de 3 mo quoi..... pas d'autre solution de conversion ?
    Bon ben si y'a pas d'autre solution, j'ai a peu près bien compris, j'ai rien d'autre à faire que de mettre ces lignes dans un switch($extension) ?

    Merci bonne soirée

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut
    De tête (ça fait longtemps que j'ai pas touché à ça)

    1°) Tu détecte le type de fichier upload via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $type_file = $_FILES['fichier']['type'];
    2°) Tu met dans un tableau les types authorisés afin de vérifier que le fichier est dans un format attendu.

    Vérifier le type MIME d'un fichier permet de connaitre sa vrai nature (les extension peuvent être changé exemple : fichier.exe.jpg). Cela te protège d'une importante faille de sécurité.

    3°) En fonction du type MIME du fichier trouvé, tu fais un switch sur ta fonction imagecreatefrom*** afin qu'elle corresponde au bon type de fichier.

    4°) Tu sauvegarde le fichier sur ton serveur, si tu veux des jpg, avec imagejpeg.

    Je te déconseille d'accepter des .gif si le formulaire est accessible par des utilisateurs. Ils peuvent contenir du code malveillant.


    Je pense que tout est là, plus qu'à comprendre
    Je repasserai par ici vérifier que tu t'en sors.

    Voila chef!

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    je pense que cette classe outil t'aidera beaucoup :

    Elle permet de faire de la découpe d'images PNG, JPEG, GIF, dans ton cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $builder = new thumbs_builder('images/source.jpeg', 'images/', 95);
    // accessoirement on peut redimensionner avant sauvegarde
    // $builder->resize(100, 100, 'fff');
    $builder->save('source.png');
    $builder->save('source.gif');

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    ThomasR, je pense devoir être obligé de faire fi de ton message, parce que non seulement j'ai rien compris ô_0 mais en plus j'ai regardé un peu ton lien, c'est un script bien sympa, mais légèrement -hum- énorme xD. Si je veux essayer d'optimiser un peu mon code quand tout sera fonctionnel j'irai faire un tour un peu plus profondément, je te remercie =)

    Omageus, merci pour ces bonnes réponses =) au final, concrètement, j'ai que 4-5 lignes à rajouter en fait, si y'a que la fonction imagecreatefrom*** qui change... J'avais peur que les fonctions truecolor etc ne marchent pas avec certaines extensions.... En tout cas je te remercie beaucoup, j'essaierai ça ce soir et j'posterai si j'ai un souçis ou non =)

    Merci à vous, je vous souhaites une bonne journée !

    Cordialement,

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Je savais bien que j'aurais de nouveau un problème :-P

    J'ai remplacé mon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $imageMini = imagecreatefromjpeg($imageDepart);
    $imageNormale = imagecreatefromjpeg($imageDepart);
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    switch($extension)
    {
    	case 'jpg' : $imageMini = imagecreatefromjpeg($imageDepart); $imageNormale = imagecreatefromjpeg($imageDepart); break;
    	case 'bmp' : $imageMini = imagecreatefrombmp($imageDepart); $imageNormale = imagecreatefrombmp($imageDepart); break;
    	case 'png' : $imageMini = imagecreatefrompng($imageDepart); $imageNormale = imagecreatefrompng($imageDepart); break;
    	case 'gif' : $imageMini = imagecreatefromgif($imageDepart); $imageNormale = imagecreatefromgif($imageDepart); break;
    }
    Tout marche niquel pour jpeg et gif, mais pas pour bmp et png !!! Il me met mon erreur des extensions non reconnues ô_0
    Là, besoin d'aide, vraiment >_<"

    Merci d'avance :-D

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut
    http://fr.php.net/manual/fr/function....php#usernotes
    Un exemple.


    Tu peux copier le message d'erreur complet stp?
    La conversion des bmp ne semble pas assurée de base par php.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Hé justement, je n'ai aucun message d'erreur ! J'ai mon message d'erreur concernant l'extension ( mon script en entier est dans mon premier message, la ligne du message est ligne 4 )
    Je vérifiais l'extension et mettais un message d'erreur si l'extension n'était pas bmp png gif ou jpg. Donc avant il était reconnu, mais maintenant c'est vraiment bizarre, non seulement l'upload ne se fait pas mais en plus il m'affiche mon erreur d'extension...

    Alors, docteur ?

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Montres-nous d'abord ton code actuel, sans quoi aucun diagnostic fiable n'est possible

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Points : 86
    Points
    86
    Par défaut
    +1

    On va y arriver!

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Très bien j'vous fait péter tout ça ! =)

    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
     
    <?php session_start(); if(!isset($_SESSION['login'])) { header('location: login.php?login=bad'); } ?>
    <?php
    	$numProjet = $_REQUEST['numProjet'];
    	if(empty($_FILES['image1']['name']))
    		$infoTransfert = '<b>Erreur ! Aucune image n\'est sp&eacute;cifi&eacute;e !<br /><br /><../projets/ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'image.';
    	else
    	{
    		$nomFichier = $_FILES['image1']['name'];
    		$extension = strstr("$nomFichier",".");
    		if(($extension!=".jpg")&&($extension!=".png")&&($extension!=".bmp")&&($extension!=".gif"))
    			$infoTransfert ='<b>Erreur !</b> Extension non reconnue, l\'image doit &ecirc;tre du type <b>.jpg .bmp .gif</b> ou <b>.png</b>.<br /><br /><a href="../projets/ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'image.';
    		else
    		{
    			include("../connexion.php");
    			$requete = mysql_query("SELECT MAX(numImage) FROM image");				
    			$ligne = mysql_fetch_array($requete);
    			$numImage = $ligne[0]+1;									
    			$decomposition = explode(".","$nomFichier");
    			$nomImage = $decomposition[0];								
    			$extension = $decomposition[1];								
    			$extension = strtolower($extension);						
    			$imageDepart = $_FILES['image1']['tmp_name'];				
    			$target = './imagesProjet'.$numProjet;
    			$taille = getimagesize($imageDepart);
    			if (!$taille[1]) { $infoTransfert = '<b>Erreur !</b>Taille non reconnue, prendre contact avec l\'administrateur.<br /><br /><a href="../projets/ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'image.'; }
    			else
    			{
    				if(!is_dir($target)) { mkdir('./imagesProjet'.$numProjet, 0777); }
    				if(!is_dir($target."/minis")) { mkdir('./imagesProjet'.$numProjet.'/minis', 0777); }
    				if(!is_dir($target."/normales")) { mkdir('./imagesProjet'.$numProjet.'/normales', 0777); }
    				$nouvelleLargeurMini = 100;
    				$nouvelleHauteurMini = 80;
    				$nouvelleLargeurNormale = 500;
    				$nouvelleHauteurNormale = 350;
    				$nomImageMini = $numImage.'mini.jpg';
    				$nomImageNormale = $numImage.'.jpg';
    				switch($extension)
    				{
    					case 'jpg' : $imageMini = imagecreatefromjpeg($imageDepart); $imageNormale = imagecreatefromjpeg($imageDepart); break;
    					case 'bmp' : $imageMini = imagecreatefrombmp($imageDepart); $imageNormale = imagecreatefrombmp($imageDepart); break;
    					case 'png' : $imageMini = imagecreatefrompng($imageDepart); $imageNormale = imagecreatefrompng($imageDepart); break;
    					case 'gif' : $imageMini = imagecreatefromgif($imageDepart); $imageNormale = imagecreatefromgif($imageDepart); break;
    				}
    				$imageEnCouleursVraiesMini = imagecreatetruecolor($nouvelleLargeurMini, $nouvelleHauteurMini);													
    				$imageEnCouleursVraiesNormale = imagecreatetruecolor($nouvelleLargeurNormale, $nouvelleHauteurNormale);
    				imagecopyresampled($imageEnCouleursVraiesMini, $imageMini, 0, 0, 0, 0, $nouvelleLargeurMini, $nouvelleHauteurMini, $taille[0], $taille[1]);		
    				imagecopyresampled($imageEnCouleursVraiesNormale, $imageNormale, 0, 0, 0, 0, $nouvelleLargeurNormale, $nouvelleHauteurNormale, $taille[0], $taille[1]);
    				imagejpeg($imageEnCouleursVraiesMini, $target."/minis/".$nomImageMini, 80);																
    				imagejpeg($imageEnCouleursVraiesNormale, $target."/normales/".$nomImageNormale, 80);
    				chmod($imageDepart, 0777);
    				$requete2 = "INSERT INTO image VALUES ( '$numImage','$numImage.$extension',' ','$numProjet');";
    				$resultat2 = mysql_query($requete2,$connexion);
    				$ligne2 = mysql_fetch_assoc($resultat2);
    				$infoTransfert = '<b>Image envoy&eacute;e avec succ&egrave;s !</b><br /><br /><a href="../projets/ajoutImage.php?numProjet='.$numProjet.'">Cliquez ICI</a></b> pour retourner sur la page d\'ajout d\'image.';
    			}
    		}
    	}
    ?>
    Voilà, donc pour résumer, quand je mets une image il m'en crée 2 copies en certaines tailles qu'il met dans deux dossiers, enregistrées sous jpeg et rétro en 80% de qualité.
    - Si l'image est une jpeg : impécable
    - Si l'image est une gif : impécable
    - Si l'image est une bmp : Ne crée rien et me redirige vers mon message de problème d'extension ( le if($extension.......) )
    - Si l'image est une png : Ne crée rien et me redirige vers mon message de problème d'extension ( le if($extension.......) )

    Voilà, à vos stétoscopes messieurs :-P

    Merci encore !

  13. #13
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Ca peut-être dû à la casse de l'extension :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $extension = strtolower(strstr($nomFichier,"."));
    Aussi, $imageMini est égal à $imageNormale, inutile de déclarer deux variables.

    Pour finir, tu peux enlever ces deux lignes car elles peuvent t'induire en erreur. 1, tu as déjà l'extension dans la variable $extension, 2, ici l'extension ne contient plus le ".".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $extension = $decomposition[1];								
    $extension = strtolower($extension);

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    ok pour tes deux remarques, de toute façons je fais un script de tête jusqu'à ce qu'il soit totalement fonctionnel, puis j'optimise, j'aurai surement vu les variables dupliquées mais peut etre pas fait gaffe à la décomposition, donc je te remercie, je rectifierai ça quand je l'optimiserai.
    Cependant, j'ai déjà fais gaffe à la casse en envoyant les fichiers. Donc quoiqu'il en soit, rien ne change au niveau du problème...
    Quoiqu'il en soit, les trois premières lignes du script sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		$nomFichier = $_FILES['image1']['name'];
    		$extension = strstr("$nomFichier",".");
    		if(($extension!=".jpg")&&($extension!=".png")&&($extension!=".bmp")&&($extension!=".gif"))
    Et le problème est ici : il rentre dans le IF, alors qu'avant il n'y rentrait pas, donc là je vois vraiment pas comment faire...

  15. #15
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par 5c0rPi0n Voir le message
    Et le problème est ici : il rentre dans le IF, alors qu'avant il n'y rentrait pas, donc là je vois vraiment pas comment faire...
    Fais un var_dump de $nomFichier et de $extension et tu auras ta réponse.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Super !!!!!!!

    Impécable, grâce à ca j'ai pu voir où était le problème...

    En fait, quand j'utilisais du gif et du jpg, là ou ça marchait, j'ai utilisé certaines images, mais pour le png et le bmp j'ai utilisé la même image, et cette image se nommait blabla.blabla.png .... Et en fait avec ma fonction pour récupèrer l'extension, je récupère à partir du point. Donc en fait l'extension c'était blabla.png =D Tout simplement, donc maintenant ça marche.
    Il ne me reste plus qu'à trouver une meilleure façon de récup l'extension... Soit avec une fonction qui prends les 3 derniers caracteres, soit avec $_FILES... Je vais voir ça.

    Ah oui, par contre j'ai pas réussi à faire marcher le imagecreatefromwbmp... En fait il me crée l'image mais elle reste toute noire en fait... Problème avec les bmp résolvable ou pas ?

    En tout cas je vous remercie énormément =) Affaire presque classé :-P

    Bonne soirée !

  17. #17
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,

    Je fais comme ceci à chaque fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $allowed_extensions = array('jpeg','jpg','gif','png','bmp');
    $filename = 'mon.nom.de.fichier.JPG';
    $extension = strtolower(end(explode(',', $filename)));
     
    if(in_array($extension, $allowed_extensions)){
        echo 'Extension valide';
    }else{
        echo 'Extension non valide';
    }

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    oui, j'ai trouvé une solution aussi pour ça, merci =) sinon pour le bmp ?

  19. #19
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Je crois que tu confond bmp et wbmp.

    Le bmp n'est pas un format reconnu par tous les navigateurs, car ce n'est pas un format d'image standard du web.

    Le format wbmp est un format d'image spécifique pour les téléphones cellulaires :

    WBMP images are Wireless Bitmaps, not Windows Bitmaps. WBMP is used for bandwidth constrained, black and white, limited devices such as PDAs and Cell Phones.
    Pour conclure, ne traites pas les fichiers bitmap.

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Ralala.... tout ça parce que PHP est un langage GNU Linux et Bitmap Windows hein !?! Racisme...

    =D Bon très bien je ferai comme ça. Merci pour vos aides précieuses !

    [Affaire Conclue]

    Bonne continuation !

    Cordialement,

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

Discussions similaires

  1. Conversion d'images
    Par ProgLog dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/05/2006, 12h32
  2. conversion d'images
    Par nicoss dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 24/04/2006, 16h14
  3. conversion d'image jpeg en tableau de pixel
    Par sophie86 dans le forum Multimédia
    Réponses: 7
    Dernier message: 09/11/2005, 12h30
  4. Conversion d'images 24/32 Bits -> 16bits
    Par RVP dans le forum Langage
    Réponses: 4
    Dernier message: 30/05/2004, 18h05
  5. Conversion avi->image
    Par lio_on_jb_groove dans le forum DirectX
    Réponses: 1
    Dernier message: 17/07/2003, 11h11

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