Mivel nem értek ehhez a területhez, így lehet bénán fogok fogalmazni.
Vannak fotók, amik fekvő képek alapból, de valamivel a tulajdonosuk megformázta úgy, hogy az exif adatok szerint az függőlegesen kell megjelenjen.
Amíg a szolgáltatóm nem kapcsolta be, addig megjelent az ilyen fotó a feltöltés után, viszont fektetve és nem állítva. A PHP exif bekapcsolása után, az ilyen exif-el ellátott fotók fel sem tölthetők. Az ilyen fotók újra szerkesztése után már feltölthető, ha kiszedjük az exif adatokat a fotóból.
Ilyenkor merre keressem a megoldást, hogy az exiffel ellátott fotók jól jelenjenek meg és feltölthetők legyenek php felületen.
- 415 megtekintés
Hozzászólások
Kód nélkül erre ki fog tudni válaszolni? Kb az aki szopott már ezzel.
Hátha segít:
https://stackoverflow.com/questions/7489742/php-read-exif-data-and-adju…
- A hozzászóláshoz be kell jelentkezni
Első körben az is segítség lenne, hogy tárhely rendszergazda, vagy a kódoló környékén keressem a megoldási lehetőséget?
- A hozzászóláshoz be kell jelentkezni
Ha hibás EXIF tag van a képben, akkor a PHP-modul megfekszik rajta. Ne tedd a feltöltés feltételévé, hogy olvasható legyen az EXIF.
- A hozzászóláshoz be kell jelentkezni
Ez járható út, ám arra van javaslatod, hogy egy exif szerinti állóképet hogyan jelenítsek meg állóként, ha az exifet figyelmen kívül hagyom?
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy dolgozod fel az adatokat, vagy milyen library-t használsz, de én valami ilyesmi logika alapján indulnék:
- Megnézni, helyes-e az exif data, ha nem, marad fektetve a kép
- Megnézni, van-e utalás arra, hogy hogyan kell a képet megjeleníteni, ha nem, marad fektetve a kép
- Megjeleníteni a képet az exif adatok alapján
Gondolom van PHP-ben is valami hiba-/exceptionkezelés, hogy ha hibás az exif, még ne essen tőle hanyatt az egész app. :)
- A hozzászóláshoz be kell jelentkezni
a jo oreg try...catch :)
Support Slackware: https://paypal.me/volkerdi
- A hozzászóláshoz be kell jelentkezni
Gondolom van PHP-ben is valami hiba-/exceptionkezelés
a jo oreg try...catch :)
- A hozzászóláshoz be kell jelentkezni
https://kepkuldes.com/images/f271d50521e205a2f70d229acd174181.png
Gimp jelzi, hogy van exif és le is kezeli, egy képnézegető szintén helyesen, állva nyitja meg. Mégis, mióta be van a tárhelyen kapcsolva a php exif, azóta az ilyen jellegű képeket nem engedi feltölteni.
- A hozzászóláshoz be kell jelentkezni
Mit jelent az, hogy nem engedi? Felrobban a monitor es meghal az aki megrpobalja feltolteni? Vagy valami error vagy warning keletkezik? Itt segit ha elarulod, hogy mi az, ami tortenik.
- A hozzászóláshoz be kell jelentkezni
Fejbevágja a usert a gépe :-)
Jó, persze, igazad van. Keresem a hibaüzenetet a rendszertől, de semmit sem találok ezzel kapcsolatban. Annyi a jelenség, hogy kiírja a rendszer egy felbukkanó ablakban: valami hiba történt a feltöltés közben, frissítsek, majd próbáljam meg újra a feltöltést.
- A hozzászóláshoz be kell jelentkezni
Node, miert ezt irod ki? Miert nem valami ertelmesebb hibauzenetet, amibol rajossz, hogy mi a baj? Nem ismerem a kododat, de valami okod volt ra, hogy ezt ird ki. No, itt az ideje, jobb hibakezelest belerakni.
- A hozzászóláshoz be kell jelentkezni
Nem vitatom, hogy okosabb hibakezelés kellene, de az is lehet, hogy ez valójában nem hiba, hanem egyfajta elutasítás egy hibás exifnek... dehogy mitől hibás amikor jól jeleníti meg egy képnézegető, arról fogalmam sincsen.
- A hozzászóláshoz be kell jelentkezni
Oke, de pontosan hol tortenik az "elutasitas"? Valamit meghivsz, amire nem azt kapod, amit szerinted kapnod kellene.
- A hozzászóláshoz be kell jelentkezni
Fogalmam sincsen, hogy pontosan hogy zajlik itt a folyamat, amit tudok, hogy feltöltésre kerül a szerverre a kép, majd azonnal vissza is adja egy ablakban, amennyiben rendben lezajlik a feltöltés. Mivel figyelembe kellene vegye a rendszer a tájolást, így most valamiért ez nem jól történik meg akkor, amikor a tájolást kellene eldöntenie a rendszernek. Amit még nmindig nem tudok, hogy kellene-e valamit hangolni a php exif-en, vagy az mindig állandó és a képfeldolgozó részt kellene a programozójának mókolnia?
- A hozzászóláshoz be kell jelentkezni
Az EXIF-be akár kártékony PHP kódot is be lehet ágyazni, szóval, ha már a feltöltés sem működik, akkor lehet, hogy valami olyat fogott benne, amit kártékonynak vélt. Vagy egyszerűen hibás az EXIF és a exif_read_data()
elhasal rajta, így a kép nem kerül át az átmeneti helyről a véglegesre.
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, ezen a vonalon indulok el, akkor, mert egyébként a képfeltöltések rendben vannak alapvetően.
- A hozzászóláshoz be kell jelentkezni
Szerintem oda kellene adnod ezt a problemat valakinek aki ert a php programozashoz, mert a kommentjeidbol az tunik ki hogy sajnos neked ehhez neked nincs kompetenciad, igy viszont semmire nem fogsz jutni hiaba forumozol itt. Meg kell nezni az error logban hogy mi tortenik amikor ez a problema jelentkezik es javitani a kodot.
- A hozzászóláshoz be kell jelentkezni
Pont az lenne a kérdésem lényege, ahogy már írtam is, hogy kit kell ilyenkor zargatni? A tárhelyszolgáltató rendszergazdát, vagy azt, aki írta a kódot?
- A hozzászóláshoz be kell jelentkezni
Kodolo
- A hozzászóláshoz be kell jelentkezni
Nem a legszebb megoldas, de egyszer, amikor par perc alatt osszedobtam egy scriptet PHP-ban, ami jpeg-ekbol az exif headerbe letarolt poziciokat gyujtotte ki, en igy csinaltam:
...
$exif = @exif_read_data($fname, 'IFD0');
if ($exif===false)
continue;
$exif = @exif_read_data($fname, 0, true);
if(!array_key_exists('GPS',$exif)||!array_key_exists('GPSLatitude',$exif['GPS']))
continue;
...
Igazabol annyi a lenyeg, hogy az exif_read_data hibat adhat, ezt a @ "elrejti" (nem all fejre tole), de a visszateresi ertekebol kiderul, hogy volt-e hiba. Nalam a hibakezeles annyi volt, hogy attertem a kovetkezo kepre (azert van continue, a ciklus a parameterul kapott kepeken megy vegig), nalad itt a default (exif es forgatas nelkuli) valtozatnak kene jonnie.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Ha baromságot kérdezek, elnézést, de soha nem volt közöm PHP-hoz.
Nincs PHP-hoz valami remote debugger, amivel kb. 15 másodperc lenne kideríteni, hogy mi történik valójában? Ezek a "valami történt" jellegű dolgok legtöbbször annyira triviálisak, ha végig tudsz rajta lépkedni soronként, hogy jó eséllyel hamarabb meglenne a megoldás, mint ahogy megírtad a kérdést a fórumra.
- A hozzászóláshoz be kell jelentkezni
Jah, látatlanul arra tippeltem volna, hogy az idevágó Jetbrains termékben van ilyesmire lehetőség, akár proprietary, akár supportálnak valami más toolt.
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy nekem sincs ebbem elég tudásom, plusz egy komplex rendszer egy kicsinyke szegmense ez, másrészt az is lehet, hogy ez nem hiba, csak szarul lett elvezetve, gondolok itt arra, hogy egy hibás exif eldobható és nem kell vele foglalkozni ha.... és ez a "ha" itt az, ami programozási hiba is lehet. Összességében még olvasgatok ebben, mert a programozó a rendszergazdára mutogat, a rendszergazda a programozóra.
- A hozzászóláshoz be kell jelentkezni
és ez a "ha" itt az, ami programozási hiba is lehet
Ennek egyébként elég nagy az esélye, de a debugger pont azért jó, mert relatíve egyszerű felderíteni.
Plusz ha soronként futtatod a kódokat, abból marha sokat lehet tanulni kezdőként, hogy mi miért történik.
- A hozzászóláshoz be kell jelentkezni
Nem kétlem, hogy igazad van, de még soha nem csináltam ilyet és nem is olvastam eddig ilyen témákban. Csak elindulnom nehéz, utána már ha megértem, sokra tudok haladni.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ebben az esetben valoszinuleg eleg lenne megnezni a webserver logjat.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
A rendszergazdával emeltess log szintet. Aztán tölts fel egymás után egy jó és egy rossz képet háromszor. Majd kérd el a logot.
- A hozzászóláshoz be kell jelentkezni
Köszönöm az ötletet, holnap megpróbálom.
- A hozzászóláshoz be kell jelentkezni