![]() |
|
|
![]() |
|||||||||||||
![]() |
||||||||||||||||
|
![]() |
#1 |
Registriert seit: 07.09.2003
Ort: Mönchengladbach
Beiträge: 3.775
|
Problem 4Images bzw PHP
Hallo
Nach dem Hack der 4Images Gallerien im November hat Prixa ja auf die Version 1.7.4 upgedatet jetzt erst war mir Aufgefallen das die Belichtungszeiten über 1 Sekunde nicht mehr Richtig angezeigt werden hatte früher die Angepasste exif Datei hier aus dem Forum am Laufen bringe es aber nicht zustande die Exifanzeige wieder gerade zu biegen kann mir hier vielleicht einer Helfen ? Glaube Manni und Basti hatten die Exif.php und Functions.php damals angepasst hier der Teil der Funktionsp.hp mit der Exif der Belichtungszeit Code:
function get_exif_info($exif) { $exif_match = array(); $exif_match['Make'] = "make"; $exif_match['Model'] = "model"; $exif_match['DateTimeOriginal'] = "datetime"; $exif_match['ISOSpeedRatings'] = "isospeed"; $exif_match['ExposureTime'] = "exposure"; $exif_match['FNumber'] = "aperture"; $exif_match['FocalLength'] = "focallen"; $exif_array = array(); if (is_array($exif)) { foreach ($exif as $key => $val) { if (isset($exif_match[$key])) { $exif_info = $val; if ($key == "DateTimeOriginal") { $exif_array[$exif_match[$key]] = preg_replace("/([0-9]{4}):([0-9]{2}):([0-9]{2})/", "\\3.\\2.\\1", $exif_info); } elseif ($key == "ExposureTime") { $exposure = explode("/", $exif_info); $exif_array[$exif_match[$key]] = "1/" . ($exposure[1] / $exposure[0]); } elseif ($key == "FNumber") { $aperture = explode("/", $exif_info); $exif_array[$exif_match[$key]] = "F/" . ($aperture[0] / $aperture[1]); } elseif ($key == "FocalLength") { $focalLen = explode("/", $exif_info); $exif_array[$exif_match[$key]] = ($focalLen[0] / $focalLen[1]) . "mm"; } else { $exif_array[$exif_match[$key]] = $exif_info; } } } } return $exif_array; } müßte ja der Alte Code angepasst eingefügt werden nur bring ich das nicht richtig hin vielleicht kann mir ja jemand helfen hier der alte Code Code:
case "ExposureTime": $valpieces = explode("/",$val); $val = round(($valpieces[1] / $valpieces[0]), 2); if ($val < 1) { $val = 1 / $val; $val = round($val, 0) . " Sekunden"; } elseif ($val == 1) { $val = 1 / $val; $val = round($val, 0) . " Sekunde"; } elseif ($val == 1.5 || $val == 2.5) { $val = "2/" . 2 * $val . " Sekunden"; } else { $val = "1/" . $val . " Sekunde"; }
__________________
Gruß Achim Das neue DRI TUTORIAL ist online PDF Download des Tutorials hier Meine Bilder in der FC ........ Meine 4Images Gallerie |
![]() |
![]() |
Sponsored Links | |
|
![]() |
#2 |
Themenersteller
Registriert seit: 07.09.2003
Ort: Mönchengladbach
Beiträge: 3.775
|
Hätte euch schon vor 2 Tagen fragen sollen
nach meiner Frage hab ich mich in aller Ruhe noch mal drangesetzt nach der Machschaft Learning by Doing und habs jetzt doch hinbekommen wenn man erst mal weiß wie es geht war es garnicht so schwer hier die Änderungen damit Belichtungszeiten größer 1 Sekunde auch korekt dargestellt werden und zb 30 Sekunden nicht als 1/0.0333333 dargestellt werden diesen Code in der Funktions.php Code:
elseif ($key == "ExposureTime") { $exposure = explode("/", $exif_info); $exif_array[$exif_match[$key]] = "1/" . ($exposure[1] / $exposure[0]); } muß mit diesem ersetzt werden Code:
elseif ($key == "ExposureTime") { $exposure = explode("/", $exif_info); $val = round(($exposure[1] / $exposure[0]), 2); if ($val < 1) { $val = 1 / $val; $val = round($val, 0); $exif_array[$exif_match[$key]] = $val . " Sekunden"; } elseif ($val == 1) { $val = 1 / $val; $val = round($val, 0); $exif_array[$exif_match[$key]] = $val . " Sekunde"; } else { $exif_array[$exif_match[$key]] = "1/" . $val . " Sekunde"; } }
__________________
Gruß Achim Das neue DRI TUTORIAL ist online PDF Download des Tutorials hier Meine Bilder in der FC ........ Meine 4Images Gallerie |
![]() |
![]() |
![]() |
#3 |
Registriert seit: 01.02.2004
Ort: Herzebrock-Clarholz
Beiträge: 7.944
|
Hallo Achim,
leider sind die geamten EXIFs in der neuen 1.7.4 Version nicht mehr so komplett wie in den älteren Versionen mit dem Exif-Mod. Bisher ist es mir nicht gelungen mehr EXIFs dazustellen, als Version 1.7.4 von Haus aus mitbringt. Deine kleine Änderung werde ich auf jeden Fall einpflegen. Danke für den Hinweis. Weiter werden gesetzte Pfade aus älteren Versionen auch nicht mehr oder nur teilweise übernommen ![]() Nicht immer ist neu auch besser. |
![]() |
![]() |
![]() |
#4 |
Registriert seit: 07.09.2003
Beiträge: 16.883
|
In der 1.7.4 gibt es die exif.php nicht mehr, sondern die Funktionen sind in die functions.php gewandert.
Dort kannst Du aber alle weiteren Exif-Daten ausgeben lassen, wie sonst auch. Du musst halt nur wissen, wie das Label heißt. Schreib einfach mal auf, welche Daten Du früher hattest, dann kriegen wir das sicher gemeinsam hin. ![]() |
![]() |
![]() |
![]() |
#5 | |
Registriert seit: 01.02.2004
Ort: Herzebrock-Clarholz
Beiträge: 7.944
|
Zitat:
Eine Antwort dazu gab es nicht, nur der Hinweis auf den "alten" EXIF-Mod. Leider sieht der EXIF-Part in der functions.php überhaupt nicht mehr so aus wie in der exif.php. Schön wäre die Informationen, ob ein Blitz zum Einsatz kam, der Weißabgleich und Art der Belichtungsmessung (automatisch oder Manuell). Gelungen ist mir das noch nicht und ich habe auch noch keine 1.7.4 Version gesehen, bei der das ging. |
|
![]() |
![]() |
Sponsored Links | |
|
![]() |
#6 | ||
Registriert seit: 07.09.2003
Beiträge: 16.883
|
Zitat:
Zitat:
![]() |
||
![]() |
![]() |
![]() |
#7 |
Registriert seit: 15.10.2003
Ort: Bottrop
Beiträge: 26.177
|
Normalerweise gerne, in diesem Moment leider nicht
![]() ![]()
__________________
VLG: Manni |
![]() |
![]() |
![]() |
#8 | |
Registriert seit: 01.02.2004
Ort: Herzebrock-Clarholz
Beiträge: 7.944
|
Zitat:
das ist sehr nett von Dir, vielen Dank ![]() ![]() |
|
![]() |
![]() |
![]() |
#9 |
Themenersteller
Registriert seit: 07.09.2003
Ort: Mönchengladbach
Beiträge: 3.775
|
Hab noch mal ein wenig Ausprobiert und es Geschafft
das Aufnahme Programm mit reinzubekommen in der funktions.php unter der Zeile Code:
$exif_match['FocalLength'] = "focallen"; Code:
$exif_match['ExposureProgram'] = "Programm"; hinter Code:
elseif ($key == "FocalLength") { $focalLen = explode("/", $exif_info); $exif_array[$exif_match[$key]] = ($focalLen[0] / $focalLen[1]) . "mm"; } Code:
elseif ($key == "ExposureProgram") { if($val==1) $val = "Manuell"; if($val==2) $val = "Programmautomatik"; if($val==3) $val = "Zeitautomatik"; if($val==4) $val = "Blendenautomatik"; if($val==5) $val = "Stilleben"; if($val==6) $val = "Sport"; if($val==7) $val = "Portrait"; if($val==8) $val = "Landschaft"; $exif_array[$exif_match[$key]] = $val; } muß hinter Code:
$lang['exif_focallen'] = "Brennweite:"; Code:
$lang['exif_Programm'] = "Programm:";
__________________
Gruß Achim Das neue DRI TUTORIAL ist online PDF Download des Tutorials hier Meine Bilder in der FC ........ Meine 4Images Gallerie |
![]() |
![]() |
![]() |
#10 |
Registriert seit: 01.02.2004
Ort: Herzebrock-Clarholz
Beiträge: 7.944
|
Hallo Achim,
super, das funktioniert. Da habe ich schon einiges ausprobiert, es aber nicht hinbekommen. Nun sehe ich auch, was ich vergessen habe. Es ist der fehlende Eintrag in der main.php ![]() |
![]() |
![]() |
Sponsored Links | |
|
![]()
|
|
|