Bonsoir à tous 
Je rencontre un souci sur un script d'upload de photos...
Il marche bien, il permet d'uploader une photo dans son format d'origine mais aussi, si nécessaire, de créer une miniature de cette photo (si ça dépasse 150px en hauteur ou en largeur).
Cependant, pour certaines photos, je constate que les miniatures se "retournent" automatiquement, pourtant je n'utilise pas de fonction FLIP ou autre.
Bref, je ne comprends pas pourquoi ça marche très bien avec la plupart des photos et pourquoi certaines miniatures se retournent...
J'ai fait une erreur quelque part... Mais où ?
Si vous avez une idée... je suis preneur !
Merci par avance

Je rencontre un souci sur un script d'upload de photos...
Il marche bien, il permet d'uploader une photo dans son format d'origine mais aussi, si nécessaire, de créer une miniature de cette photo (si ça dépasse 150px en hauteur ou en largeur).
Cependant, pour certaines photos, je constate que les miniatures se "retournent" automatiquement, pourtant je n'utilise pas de fonction FLIP ou autre.
Bref, je ne comprends pas pourquoi ça marche très bien avec la plupart des photos et pourquoi certaines miniatures se retournent...
J'ai fait une erreur quelque part... Mais où ?
Si vous avez une idée... je suis preneur !
Merci par avance

Code:
// Fichier vide
if(empty($_FILES['fichier_upload']['tmp_name']))
{
echo 'Vous devez impérativement sélectionner la photo à uploader !';
}
// Problème d'upload du fichier
elseif(!is_uploaded_file($_FILES['fichier_upload']['tmp_name']))
{
echo 'Un problème empêche le transfert de cette photo !';
}
// Vérifier le format de l'image
elseif(!$getimagesize=getimagesize($_FILES['fichier_upload']['tmp_name']))
{
echo 'Format incorrect ! GIF, PNG ou JPG seulement !';
}
else
{
// Traitement de l'image
list($fichier_largeur, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($_FILES['fichier_upload']['tmp_name']);
$fichier_poids_max=6500000;
$fichier_hauteur_max=12240;
$fichier_largeur_max=16320;
$fichier_dossier='../upload/';
$fichier_extension=substr($_FILES['fichier_upload']['name'], strrpos($_FILES['fichier_upload']['name'], '.')+1);
$fichier_nom_sans_extension=str_replace('.'.$fichier_extension, '', $_FILES['fichier_upload']['name']);
$fichier_nouveau_nom=date('YmdHis').'-'.$_FILES['fichier_upload']['name'];
$fichier_nouveau_nom2=date('YmdHis').'-'.$fichier_nom_sans_extension.'_[mini150].'.$fichier_extension;
// Photo trop lourde
if(filesize($_FILES['fichier_upload']['tmp_name']) > $fichier_poids_max)
{
echo 'Cette photo est trop lourde !';
}
// Type GIF, PNG ou JPG seulement
elseif($fichier_type!='1' && $fichier_type!='2' && $fichier_type!='3')
{
echo 'Format incorrect ! Choisissez une illustration au format GIF, JPG ou PNG seulement !';
}
// Image trop grande
elseif(($fichier_largeur >= $fichier_largeur_max) || ($fichier_haut >= $fichier_hauteur_max))
{
echo 'Cette image est trop grande !';
}
else
{
$taille_max=150;
if(($fichier_largeur > $taille_max) || ($fichier_haut > $taille_max))
{
if($fichier_haut > $fichier_largeur)
{
$fichier_mini_hauteur=$taille_max;
$fichier_mini_largeur=$fichier_largeur / ($fichier_haut / $taille_max);
}
else
{
$fichier_mini_hauteur=$fichier_haut / ($fichier_largeur / $taille_max);
$fichier_mini_largeur=$taille_max;
}
if($fichier_type=='1')
{
$fichier_source=imagecreatefromgif($_FILES['fichier_upload']['tmp_name']);
$fichier_reduit=imagecreate($fichier_mini_largeur, $fichier_mini_hauteur);
$fond_blanc=imagecolorallocate($fichier_reduit, 255, 255, 255);
$fichier_largeur_reduite=imagesx($fichier_reduit);
$fichier_haut_red=imagesy($fichier_reduit);
$nom_fichier_reduit=$fichier_nouveau_nom2;
imagecopyresampled($fichier_reduit, $fichier_source, 0, 0, 0, 0, $fichier_largeur_reduite, $fichier_haut_red, $fichier_largeur, $fichier_haut);
imagecolortransparent($fichier_reduit, $fond_blanc);
imagegif($fichier_reduit, $fichier_dossier.$nom_fichier_reduit);
}
if($fichier_type=='2')
{
$tmp_qualite=100;
$fichier_source=imagecreatefromjpeg($_FILES['fichier_upload']['tmp_name']);
$fichier_reduit=imagecreatetruecolor($fichier_mini_largeur, $fichier_mini_hauteur);
$fichier_largeur_reduite=imagesx($fichier_reduit);
$fichier_haut_red=imagesy($fichier_reduit);
$nom_fichier_reduit=$fichier_nouveau_nom2;
imagecopyresampled($fichier_reduit, $fichier_source, 0, 0, 0, 0, $fichier_largeur_reduite, $fichier_haut_red, $fichier_largeur, $fichier_haut);
imagejpeg($fichier_reduit, $fichier_dossier.$nom_fichier_reduit, $tmp_qualite);
}
if($fichier_type=='3')
{
$fichier_source=imagecreatefrompng($_FILES['fichier_upload']['tmp_name']);
$fichier_reduit=imagecreatetruecolor($fichier_mini_largeur, $fichier_mini_hauteur);
$fichier_largeur_reduite=imagesx($fichier_reduit);
$fichier_haut_red=imagesy($fichier_reduit);
$nom_fichier_reduit=$fichier_nouveau_nom2;
imagecopyresampled($fichier_reduit, $fichier_source, 0, 0, 0, 0, $fichier_largeur_reduite, $fichier_haut_red, $fichier_largeur, $fichier_haut);
imagepng($fichier_reduit, $fichier_dossier.$nom_fichier_reduit);
}
}
else
{
$nom_fichier_reduit=$fichier_nouveau_nom;
if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], $fichier_dossier.$fichier_nouveau_nom))
{
}
else
{
echo 'Problème pour uploader la photo... Contactez le développeur de l\'applicatio, !';
}
}
move_uploaded_file($_FILES['fichier_upload']['tmp_name'], $fichier_dossier.$fichier_nouveau_nom);
echo 'La photo a été uploadée avec succès !';
}
}
?>