[Résolu] Rotation image en dur

Eléphanteau du PHP | 11 Messages

23 juin 2015, 11:19

Bonjour à tous,

Je suis novice en php. J'ai développé un hébergeur d'image pour un club dont je suis membre. Il fonctionne parfaitement, mais je rencontre un problème dont les membres se plaignent de plus en plus :

Parfois, lors de l'upload d'une image, celle-ci n'est pas droite, elle est tournée, alors que sur leur PC, aucun soucis. Le problème vient de l'image en elle-même qui est mal taguée par l'appareil qui prend la photo je pense, et le problème se présente sur tous les hébergeurs.

Je voudrai néanmoins proposer une fonction pour permettre de faire une rotation de l'image.

Il y a la fonction imagerotate, mais de ce que j'ai compris, elle ne tourne pas l'image au niveau du serveur, mais au moment du chargement de la page. Je pensais éventuellement stocker en BDD le nombre de degré de rotation (peu d'images sont concernées), mais de toutes façons, le problème sera le même : quand il vont copier le lien direct sur le forum pour afficher la photo, celle-ci sera à nouveau tournée, ou alors il faudrait modifier les url concernées qu'ils copient pour passer des paramètres en GET, mais on ne s'en sort plus...

Je voulais donc savoir si vous connaissiez une fonction pour faire une rotation de l'image en dur, au niveau du serveur directement, avec GD peut être ?

Merci :)
Modifié en dernier par Bipbip412 le 23 juin 2015, 14:42, modifié 1 fois.

Avatar du membre
Mammouth du PHP | 1609 Messages

23 juin 2015, 11:59

Bonjour Bipbip412, je pense que la documentation sur imagerotate est assez clair si tu lis bien et regardes bien l'exemple.
Si tu veux sauvegarder l'image retournée il suffit d'ajouter un deuxième paramètre sur imagejpeg.
http://php.net/manual/fr/function.imagerotate.php
http://php.net/manual/fr/function.imagejpeg.php

S'il y a un point que tu ne comprends pas, hésites pas à demander.

PS : les deux fonctions font justement partie de la librairie GD.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 11 Messages

23 juin 2015, 14:41

En effet, cela fonctionne, et c'est déjà en place ! J'avais pas vu qu'on pouvait l'enregistrer après. Merci beaucoup :)