Avatar billede supermoos Nybegynder
12. oktober 2008 - 23:55 Der er 15 kommentarer

Læse dato fra EXIF data på et billede, uden exif_read_data?

Hej
Jeg skal uploade nogle billeder som jeg i deres exif data skal læse tiden hvorpå billedet blev taget, denne tid gemmes i EXIF data i billedet. Problemet er at det ikke er en mulighed for mig at bruge php's indbygged exif_read_data() function (min webudbyder har den ikke installeret, og jeg er interesseret i at mit script skal virke hos alle udbydere med standard config).

Jeg ved der findes nogle scripts til at læse EXIF data, men jeg kan ikke lige finde ud af dem. Skal kun bruge datoen for hvornår billedet blev taget.
Avatar billede mcardle Nybegynder
13. oktober 2008 - 02:27 #1
Ved ikke om du vil bruge dette, men du kan læse hvornår den sidst blev modificeret med:

filemtime("billede.jpg");

//mcardle
Avatar billede jakobdo Ekspert
13. oktober 2008 - 08:33 #2
Har du f.eks. kigget på en klasse ala: http://www.phpclasses.org/browse/package/1042.html
Avatar billede supermoos Nybegynder
13. oktober 2008 - 11:11 #3
filemtime kan ikke bruges. Hvis billedet nu fx bliver gemt i en mindre størrelse eller på anden vis ændret inden upload så er den gal.

Jeg har kigget på netop den klasse ja, men jeg tænkte bare at den måske var ret stor til mit formål. Jeg skal jo bare bruge datoen.
Andre forslag?
Avatar billede jakobdo Ekspert
13. oktober 2008 - 11:32 #4
Så tag klassen og klip den til, så den kun giver dig datoen.
Og det er da sjældent at høre brok over noget er for stort. :o)
Men betyder det noget ?
Avatar billede supermoos Nybegynder
13. oktober 2008 - 11:40 #5
Jo tak, det kan jeg dog ikke lige umiddelbart finde ud af med mine nuværende php evner.

Det er fordi den vil give et større footprint, men mest af alt fordi jeg ikke ved om den er sikkert skrevet, og ikke selv kan tjekke det grundet tidsmangel/evner. Men det bliver jeg vel nød til at gøre så..

Tak for det :-)
Avatar billede jakobdo Ekspert
13. oktober 2008 - 12:04 #6
Helt ok. :o)
Ellers spørger du bare igen.
Avatar billede coderdk Praktikant
13. oktober 2008 - 13:02 #7
http://www.offsky.com/software/exif/ <- Læs EXIF uden de indbyggede EXIF-funktioner...
Avatar billede supermoos Nybegynder
13. oktober 2008 - 13:18 #8
coderdk, har netop selv fundet frem til det script, og det virker perfekt :-) Du får pointene, dog er der en nyere version af samme script her: http://www.zenphoto.org/trac/wiki/ExifixerLibrary
Avatar billede supermoos Nybegynder
13. oktober 2008 - 13:19 #9
men hvordan dælen giver man dem?
Avatar billede coderdk Praktikant
13. oktober 2008 - 13:22 #10
hehe jeg skal svare først :)
Avatar billede supermoos Nybegynder
13. oktober 2008 - 13:27 #11
Okay, en sidste ting: jeg får en dato tilbage i dette format: 2008:04:18 11:49:58 hvordan gemmer jeg bedst det i en mysql database som en tid? Kan det evt. konverteres til sekunder efter January 1st 1970 ?
Avatar billede supermoos Nybegynder
13. oktober 2008 - 13:38 #12
never mind, strtotime() gjorde det for mig :-)
Avatar billede coderdk Praktikant
13. oktober 2008 - 13:38 #13
list($date,$time) = explode(" ", $exif_date);
$timestamp = strtotime( str_replace(":", "-", $date") . " " . $time );

kan måske gøre det?
Avatar billede coderdk Praktikant
13. oktober 2008 - 13:38 #14
ok, var ikke lige klar over om den ville godtage : i datodelen :)
Avatar billede coderdk Praktikant
13. oktober 2008 - 13:39 #15
i øvrigt var der et " for meget i min str_replace ;P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester