Ciao a tutti,
Ho un grosso ed alquanto strano problema:
Ho due foto:
prima foto scattata con iPhone:
su pc risoluzione width 960 height 1280.
Quando passo l'immagine a php smartimage per ridimensionarla e uploadarla, la funzione getimagesize mi scambia i valori quindi width diventa 1280 ed height diventa 960 e la foto quindi si ruota diventando storta, ovviamente sul server viene caricata storta e visualizzata storta.
La seconda immagine invece, empre scattata con iPhone resta dritta e il php non inverte nulla quindi si carica e si visualizza dritta.
Terza foto, scattata non con iPhone ha: width 1328 height 747 e il php non scambia nulla, quindi caricata dritta e visualizzata dritta.
Lo script che ho creato mi consente di far uploadare delle immagini agli utenti che visitano il sito, ma se loro mi caricano una foto ed il php mi inverte le risoluzioni quindi me le ruota, come faccio a capire se con smartimage devo farla ruotare o meno?
Subito avevo pensato a questo:
if($height<$width) ruota la foto e come larghezza usa l'altezza e come altezza usa la larghezza visto che il php me le inverte.
Per la foto che si ruota tutto OK, ma il problema resta nella terza foto che, di origine sul pc e con il php la risoluzione resta uguale e corretta 1328x747 ma ovviamente essendoci quella condizione di cui sopra lui me la scambia perchè effettivamente altezza è minore di larghezza, ma nel caso di quella foto è giusto perchè è così, quindi non deve ruotarmela.
Come faccio a capire quando ruotarle o no?
Pensavo di utilizzare la funzione exif_read_data per prendermi il valore di orientation, ma la funzione mi da errore fatal.
Aiutatemi vi prego perchè ci sto sbattendo la testa da settimane e tutte le prove sono invane.