Convertir mes images en png

Bojinov -  
scriptiz Messages postés 1494 Statut Membre -
Tout d'abord bonjour à tous,

Voilà je me présente, je suis un petit noob qui a tout appris grâce à des forums comme celui là.Donc je tiens avant tout à vous remercier tous. Je suis donc en effet en train de créer un site qui approche de la fin. Cependant j'arrive à un petit problème de script que j'ai du mal à comprendre : celui des photos.

En effet pour mon site j'ai un formulaire avec un envoi de photo que j'aimerais entrer dans ma bd. Ce que je fais c'est donc que j'enregistre le chemin dans ma base de données et j'upload la photo dans un dossier de mon serveur.

Cependant voilà, à des fins d'optimisation et à la demande de mes clients j'ai besoin que les photos soient enregistrés au format PNG.
Je voulais donc savoir si il était possible de convertir les photos au moment de l'envoi du des photos via le formulaire... j'ai vu qu'il y avait possibilité de vérifier le type du fichier mais je ne pense pas que ça soit la solution adéquat...

merci d'avance pour votre aide...
A voir également:

8 réponses

scriptiz Messages postés 1494 Statut Membre 425
 
Tout simplement à l'aide de la librairie GD LibGD générallement installée par défaut sur la plupart des hébergeurs professionnels.

Exemple :

$imageFile = "photo.jpg";
$imageObject = imagecreatefromjpeg($imageFile);

imagegif($imageObject, $imageFile . '.gif');
imagepng($imageObject, $imageFile . '.png');
imagewbmp($imageObject, $imageFile . '.bmp');

1. Tu instancie $imageObject à partir d'une image JPG avec imagecreatefromjpeg("fichier.jpg");
2. Ensuite à l'aide de imagepng tu exportes l'image en png en rajoutant l'extension .png au nom du fichier.
Rem : les fonctions imagegif() et imagewbmp() sont juste là pour te montrer que tu peux exporter dans d'autres formats.
0
bojinov
 
J'avais vu ces fonctions en effet.
Mais je m'étais posé une question qui m'avais empécher de la faire dc je vais te la poser directement.

Imaginons que l'utilisateur entre une photo en .gif dans ce cas là comment ça se passe si j'utilise ta fonction imagecreatefromjpeg()??? est ce que celà va marcher ou pas???
0
scriptiz Messages postés 1494 Statut Membre 425
 
Si tu souhaites accepter plusieurs formats, il te suffit de travailler sur le type de l'image reçue :

    switch ($image_type)
    {
        case 1: $src = imagecreatefromgif($file); break;
        case 2: $src = imagecreatefromjpeg($file);  break;
        case 3: $src = imagecreatefrompng($file); break;
        default: return '';  break;
    }


Ici je suppose que $image_type vaut 1 si c'est du '.gif', 2 pour le '.jpg' et '.jpeg' et 3 pour le .png

Ainsi tu te retrouve dans $src avec l'image et il te reste à faire comme je l'ai dit plus haut :

imagepng($src, 'nom_du_fichier.png');
0
Bojinov
 
merci de tes réponses rapides. C'est vraiment sympa...
mais alors une autre question intervient, une plus simple.

si je veux enregistrer la photo sur mon serveur je fais comment?

. move_uploaded_file(imagepng($src, 'nom_du_fichier.png'),$destination);

ou :

imagepng($src, 'nom_du_fichier.png');
move_uploaded_file($src,$destination);

?????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bojinov
 
autant pour moi j'avais mal lu la fonction imagepng()...
et je m'excuse pour ma question bête!!!!

merci bcp de ton aide!!!! c'est vraiment cool
0
scriptiz Messages postés 1494 Statut Membre 425
 
Avec plaisir, n'oublie pas de mettre ton sujet en Résolu (sur ton premier Post tu as deux radio-button pour le faire) ;)
0
Bojinov
 
malheureusement n'étant pas enregistrer, et vu que je suis rester 'anonyme' je crois que je ne peux pas le faire...
0
scriptiz Messages postés 1494 Statut Membre 425
 
Ah c'est un fait ^^

Ce n'est pas bien grave après tout. Bonne continuation.
0