Archiv verlassen und diese Seite im Standarddesign anzeigen : 4images & exif daten?
Hallo,
langsam neigt sich die Bastelei an meiner Galerie dem Ende zu ... ;)
Was jetzt noch fehlt, das ist die Anzeige der Exif-Daten! Kennt bzw. nutzt jemand diesen MOD (http://www.4homepages.de/forum/index.php?topic=3274.0) oder gibt es etwas aktuellers, besseres, schöneres? ;)
Gruss Peter
Jerichos
16.03.2005, 14:19
Kennt bzw. nutzt jemand diesen MOD (http://www.4homepages.de/forum/index.php?topic=3274.0) oder gibt es etwas aktuellers, besseres, schöneres? ;)
Öhm, ja wir. :D
Aber in einer etwas weiter fortgeschrittenen Ausbaustufe. Ich schick Dir die Files heute Abend zu bzw. vielleicht hat Basti oder Manni die Files zur Hand. ;)
Aah, sehe, daß Dir schon geantwortet wurde.
Funzt auf jeden Fall prima.
Hallo Peter,
du hast Post.
Lg
Basti
@ Basti
Vielen Dank, ich hab's bekommen ... :top:
Erst schau' ich's mir an, dann bastele ich's gaaanz vorsichtig rein ... und zuletzt kommen die Hilferufe ... ;)
Gruss Peter
MiLLHouSe
16.03.2005, 14:56
oh, ein interessantes Thema für mich...
Ich dachte, die Anzeige wäre standardmäßig dabei...
Könnte ich evtl. auch die Dateien von euch haben???
Dankäää ;-)
alex
Ok, dann lieber doch zuerst die Fragen ... ;)
Also:
exif.php & functions.php in den includes-Ordner
details.html & exif_bit.html in den Template-Ordner
Richtig???
Gruss Peter
Richtig,
Mail ist unterwegs.
Basti
Richtig.
Aber: Backup der Originale nicht vergessen. ;)
Wo ist den der Unterschied zwischen eurer und dem Mod ??
ps: hät da auch interesse dran :-)
Jerichos
16.03.2005, 15:21
Wo ist den der Unterschied zwischen eurer und dem Mod ??
ps: hät da auch interesse dran :-)
Anzeige der unterschiedlichen Kameramodelle inkl. der korrekten Crop-Faktoren. Sprich die Anzeige der KB-Brennweite ist korrekt. ;)
So, alles wie befohlen hochgeladen ... ;)
Bei der Detailanzeige bekomme ich folgende Meldung:
Warning: Unknown(./templates/4dark/incl/searchbox.php): failed to open stream: No such file or directory in /srv/www/htdocs/web33/html/4images/includes/template.php(133) : eval()'d code on line 45
Hier (http://www.digipics4you.net/4images/details.php?image_id=440) sozusagen das Original!
Gruss Peter
MiLLHouSe
16.03.2005, 15:57
lol, bei mir siehts fast auch so aus:
guckst du... (http://galerie.stroehl.com/details.php?image_id=4&sessionid=56dd3816488498436bd473d3c6fdac78)
@ MiLLHouSe
Keine Bange, hier werden wir geholfen ... :lol:
Gruss Peter
*grummel* jetzt wird's hakelig.....
Der Fehler kommt aus der details.html - und die ist m.W. in toto templatespezifisch.
Hier hilft wohl nur die Original Details um die EXIF-Routinen aus der geMODdeten zu ergänzen.
Wenn ich das auf die Schnelle richtig sehe (Auszug aus MEINER details.html), dann ist unterhalb der Bildanzeige dieser Codeblock hinzuzufügen:
{if exif_info}
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td class="head1">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td class="head1" valign="top" colspan="2">EXIF Info</td>
</tr>
{exif_info}
</table>
</td>
</tr>
</table>
{endif exif_info}
Ich drücke euch die Daumen, auch ich habe etwas länger gebraucht und heftig geschraubt, bist ich bei mir die EXIF's einigermassen hinbekommen habe.
@pwk51:
Kannst du mir bitte die TOP-Anzeige mailen? Finde ich Klasse !!!
@ ManniC
Zu 1: Ich schraube ...
Zu 2: Ich maile ...
Gruss Peter
MiLLHouSe
16.03.2005, 16:24
@ManniC
du bist ein Schatz - es geht!!! :lol: :cool: ;)
Vielen Dank!
@ManniC
Du hast Post ...
@MiLLHouSe
Was hast Du denn verändert? In meiner 'details.html' sind die von ManniC angegebenen Zeilen bereits enthalten???
Gruss Peter
MiLLHouSe
16.03.2005, 16:36
du musst auch die Original von 4dark nehmen, dann in Zeile 212 oder so den Block einfügen.
Müsste so in etwa dann aussehen:
<td class="head1" valign="top">IPTC Info</td>
</tr>
{iptc_info}
</table>
</td>
</tr>
</table>
{endif iptc_info}
{if exif_info}
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td class="head1">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td class="head1" valign="top" colspan="2">EXIF Info</td>
</tr>
{exif_info}
</table>
</td>
</tr>
</table>
{endif exif_info}
{if rate_form}<div align="center">{rate_form}</div>{endif rate_form}
{if allow_comments}
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td class="head1" valign="top">
<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr>
<td valign="top" class="head1">
*daumendrück*
@ MiLLHouse
Hmm, das kommt davon, wenn man(n) nicht aufmerksam liest ...
Danke, jetzt klappt's! ;)
Gruss Peter
MiLLHouSe
16.03.2005, 16:50
*grins*
dafür hab ich am Anfang die ganze Zeit in der details.php gesucht ;-)
Hallo,
erstmal vielen Dank für Euere Hilfe, grundsätzlich funktioniert es jetzt auch bei mir ... :top:
Allerdings gibt es noch zwei, drei klitzekleine Änderungswünsche ... :cool: ;)
Anzeige der unterschiedlichen Kameramodelle inkl. der korrekten Crop-Faktoren. Sprich die Anzeige der KB-Brennweite ist korrekt. ;)
FocalLengthIn35mmFilm funktioniert bei mir wohl deshalb nicht, weil ich bisher nur Bilder eines Fremdfabrikates :oops: in der Galerie habe. Kann mir jemand dazu einen Tipp geben???
ExposureProgram funktioniert auch nicht, aber das kann ja wohl nicht am Kameramodell liegen! Hat dazu jemand eine Idee?
Im Ordner 4images/lang/deutsch gibt es die main.php, die deutsche Texte enthält. Bin ich hier auf der richtigen Fährte, um die englischen Bezeichnungen (aus 'Model' wird 'Modell') 'einzudeutschen'???
Und zu guter Letzt:
Was kann ich tun, damit die Exif-Daten linksbündig zu den übrigen Bilddaten angezeigt werden (hier ein unschönes Beispiel (http://www.digipics4you.net/4images/details.php?image_id=482))???
Hmm, wird wohl Zeit, dass ich wieder Arbeiten gehe, dann habt Ihr hier wieder Ruhe vor mir ... ;)
Gruss Peter
Jerichos
16.03.2005, 21:01
FocalLengthIn35mmFilm funktioniert bei mir wohl deshalb nicht, weil ich bisher nur Bilder eines Fremdfabrikates :oops: in der Galerie habe. Kann mir jemand dazu einen Tipp geben???
Es gibt in dem Sinne kein Fremdfabrikat. Der EXIF-Mod ist ja nicht speziell auf KM gemünzt und müsste alle Marken erkennen.
ExposureProgram funktioniert auch nicht, aber das kann ja wohl nicht am Kameramodell liegen! Hat dazu jemand eine Idee?
Siehe Punkt 1. Sollte eigentlich funktionieren, auf der anderen Seite braucht man die Info?
Im Ordner 4images/lang/deutsch gibt es die main.php, die deutsche Texte enthält. Bin ich hier auf der richtigen Fährte, um die englischen Bezeichnungen (aus 'Model' wird 'Modell') 'einzudeutschen'???
Negativ. Die texte sind leider in den EXIFs enthalten und lassen sich wohl nicht eindeutschen. Ich hab da auch schon ewig hinprobiert. :(
Was kann ich tun, damit die Exif-Daten linksbündig zu den übrigen Bilddaten angezeigt werden (hier ein unschönes Beispiel (http://www.digipics4you.net/4images/details.php?image_id=482))???
Du musst Deine Tables-Breite korrekt definieren. Die Exifs scheinen einen 50%-50% Aufteilung haben, die Obere hat wohl gar keine. Also die Obere ebenfalls noch das Attribut "width=xx%" geben und unten entsprechend auch (-> exif_bit.html). Dann passt das. ;)
Was kann ich tun, damit die Exif-Daten linksbündig zu den übrigen Bilddaten angezeigt werden (hier ein unschönes Beispiel (http://www.digipics4you.net/4images/details.php?image_id=482))???
Ich habe in der exif_bit.html die Breite der 1. Spalte auf 300 gesetzt.
<tr>
<td valign="top" class="row{row_bg_number}" width="300">{exif_name}</td>
<td valign="top" class="row{row_bg_number}">{exif_value}</td>
</tr>
Dann klappt's auch mit Panos, siehe hier (http://www.eisfeldweb.de/galerie/details.php?image_id=683).
Hallo Basti
Kannst du mir bitte auch diesen Mod schicken.
So wie es jetzt auf meiner HP ist, bin ich nicht zufrieden damit.
Gruß Volker
So, bei mir ists jetzt auch drin, nur versteh ich da ein zwei Sachen noch nicht.
Bei Bildern aus meine A1 steht die Brennweite dabei, bei denen aus der Fuji s5500 nicht, sowieso steht da nicht alles aus den exifs. Wa kannn ich das denn einstellen ??
Hallo Volker,
du hast Post.
Lg
Basti
MiLLHouSe
17.03.2005, 09:03
@GooSe
wenn du weißt, wie man noch mehr Daten aus den EXIF's ziehen kann, gib mir bitte mal bescheid ;-)
@ BadMan
@ Jerichos
Danke!
@ MiLLHouSe
Einfach hier ...
define('EXIF_FILTER', "
Model:
ExposureTime:
FNumber:
ISOSpeedRatings:
ExposureProgram:
ExifVersion:
MeteringMode:
LightSource:
Flash:
FocalLength:
FocalLengthIn35mmFilm:
... eintragen!
Gruss Peter
MiLLHouSe
17.03.2005, 09:33
oh, da hätte ich vielleicht vorher einfach mal reinschauen sollen... naja, egal!
danke schön! ;-)
XxJakeBluesxX
19.03.2005, 12:18
Hallo Peter,
du hast Post.
Lg
Basti
Kannst du mir die Dateien auch zuschicken?
Hallo Peter,
du hast Post.
Lg
Basti
Kannst du mir die Dateien auch zuschicken?
Hallo XxJakeBluesxX,
tausche Dateien gegen E-Mail-Adresse ... :mrgreen:
Gruss Peter
...die Addi ist mit dem Mail-Button unter Claudios Beitrag verlinkt ;)
...die Addi ist mit dem Mail-Button unter Claudios Beitrag verlinkt ;)
Hmm, ich seh' da keinen Mail-Button ... :cool:
Gruss Peter
Jerichos
19.03.2005, 12:47
Hmm, ich seh' da keinen Mail-Button ... :cool:
Du musst Manni entschuldigen. Er muss sich noch an seine durchlauchte Position gewöhnen. ;) :D :lol:
...die Addi ist mit dem Mail-Button unter Claudios Beitrag verlinkt ;)
Manni-Schneckerl, Du kannst jetzt mehr sehen als andere. Bitte bedenken. :D
Kein Problem ... :mrgreen:
Ich schicke Claudio eine PN!
Gruss Peter
:oops: :oops: :oops:
Ich bin dann erstmal im Forumskeller - Staubwischen .......
(hoffentlich steht da gezz ein Pittermännchen Päffgen-Kölsch) :cool:
XxJakeBluesxX
19.03.2005, 15:20
...die Addi ist mit dem Mail-Button unter Claudios Beitrag verlinkt ;)
Hmm, ich seh' da keinen Mail-Button ... :cool:
Gruss Peter
Bist Du blind? ;) :roll: :D
XxJakeBluesxX
19.03.2005, 16:42
@ BadMan
@ Jerichos
Danke!
@ MiLLHouSe
Einfach hier ...
define('EXIF_FILTER', "
Model:
ExposureTime:
FNumber:
ISOSpeedRatings:
ExposureProgram:
ExifVersion:
MeteringMode:
LightSource:
Flash:
FocalLength:
FocalLengthIn35mmFilm:
... eintragen!
Gruss Peter
Wie sieht der Code für FocalLengthIn35mmFilm aus?
Für FocalLength sieht er so aus:
case "FocalLength":
//$val = (round(exif_get_str_val($val))*3.89) . " mm";
break;
Jerichos
19.03.2005, 17:11
Für FocalLength sieht er so aus:
case "FocalLength":
//$val = (round(exif_get_str_val($val))*3.89) . " mm";
break;
Das funzt nur für die Dimage!!!
Bevor wir hier ewig Scripte hin und her schicken, hier unsere derzeitige exif.php:
<?php
// true: enable the field filter
// false: disable the field filter
define('EXIF_CONTROL', true);
// add the field name for show in exif section
// remember the field name with the colon ":"
define('EXIF_FILTER', "
Model:
ExposureTime:
FNumber:
ISOSpeedRatings:
FocalLengthIn35mmFilm:
");
function exif_filter_control() {
return EXIF_CONTROL;
}
function exif_filter($name) {
if (strpos(EXIF_FILTER, ($name . ":")) > 0) {
return true;
} else {
return false;
}
}
function exif_get_str_val($val) {
$val = (substr($val, 0, strpos($val, "/"))) / (substr($val, strpos($val, "/") + 1));
return $val;
}
function exif_parse_value($name, $val) {
switch($name) {
case "Orientation":
if($val==1) $val = "Normal";
if($val==2) $val = "Mirrored";
if($val==3) $val = "Upsidedown";
if($val==4) $val = "Upsidedown Mirrored";
if($val==5) $val = "90deg CW Mirrored";
if($val==6) $val = "90deg CCW";
if($val==7) $val = "90deg CCW Mirrored";
if($val==8) $val = "90deg CW";
break;
case "ResolutionUnit":
if($val==1) $val = "No Unit";
if($val==2) $val = "Inch";
if($val==3) $val = "Centimeter";
break;
case "YCbCrPositioning":
if($val==1) $val = "Pixel Array";
if($val==2) $val = "Datum Point";
break;
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 . " Sekunden";
}
break;
case "FNumber":
$val = "F/" . exif_get_str_val($val);
break;
case "ExposureProgram":
if($val==1) $val = "Manual control";
if($val==2) $val = "Program normal";
if($val==3) $val = "Aperture priority";
if($val==4) $val = "Shutter priority";
if($val==5) $val = "Program creative(slow program)";
if($val==6) $val = "Program action(high-speed program)";
if($val==7) $val = "Portrait mode";
if($val==8) $val = "Landscape mode";
break;
case "ExifVersion":
$val = round($val / 100, 2);
break;
case "ComponentsConfiguration":
$val = bin2hex($val);
$val = str_replace("01","Y",$val);
$val = str_replace("02","Cb",$val);
$val = str_replace("03","Cr",$val);
$val = str_replace("04","R",$val);
$val = str_replace("05","G",$val);
$val = str_replace("06","B",$val);
$val = str_replace("00","",$val);
break;
case "CompressedBitsPerPixel":
$val = exif_get_str_val($val);
break;
case "ShutterSpeedValue":
$val = "1/" . round(pow(2, exif_get_str_val($val))) . " seconds";
break;
case "ApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
if ((substr($val, 0, strpos($val, "/"))) == "0") {
$val = "0 Step";
} else {
$val = $val . " Step";
}
break;
case "MaxApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "SubjectDistance":
$val = exif_get_str_val($val) . " M";
break;
case "MeteringMode":
if($val==0) $val = "Unknown";
if($val==1) $val = "Average";
if($val==2) $val = "Center Weighted Average";
if($val==3) $val = "Spot";
if($val==4) $val = "Multi-spot";
if($val==5) $val = "Multi-segment";
if($val==6) $val = "Partial";
if($val==255) $val = "Other";
break;
case "LightSource":
if($val==0) $val = "Unknown";
if($val==1) $val = "Daylight";
if($val==2) $val = "Fluorescent";
if($val==3) $val = "Tungsten";
if($val==10) $val = "Flash";
if($val==17) $val = "Standard light A";
if($val==18) $val = "Standard light B";
if($val==19) $val = "Standard light C";
if($val==20) $val = "D55";
if($val==21) $val = "D65";
if($val==22) $val = "D75";
if($val==255) $val = "Other";
break;
case "Flash":
if($val==0) $val = "No Flash";
if($val==1) $val = "Flash fired";
if($val==5) $val = "Flash fired but strobe return light not detected";
if($val==7) $val = "Flash fired and strobe return light detected";
if($val==9) $val = "Undefined";
break;
case "FocalLength":
$val = exif_get_str_val($val) . " mm";
break;
case "FocalLengthIn35mmFilm":
$val = $val . " mm";
break;
case "FlashPixVersion":
$val = round($val / 100, 2);
break;
case "ColorSpace":
if($val==1) $val = "sRGB";
if($val=='65535') $val = "Uncalibrated";
break;
case "FocalPlaneXResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneYResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneResolutionUnit":
if($val==1) $val = "No Unit";
if($val==2) $val = "Inch";
if($val==3) $val = "Centimeter";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x03) $val = "Digital still camera";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x01) $val = "Directly photographed";
break;
}
return $val;
}
?>
XxJakeBluesxX
19.03.2005, 17:22
Funktioniert bei mir nicht... :(
EXIF Info
Model: DiMAGE A2
ExposureTime: 10 Sekunden
FNumber: F/0
ISOSpeedRatings: 64
FocalLength: 0 mm
Jerichos
19.03.2005, 17:50
Funktioniert bei mir nicht... :(
EXIF Info
Model: DiMAGE A2
ExposureTime: 10 Sekunden
FNumber: F/0
ISOSpeedRatings: 64
FocalLength: 0 mm
Warum funktioniert dann das gleiche Script bei Deinen Bilder in unserer Galerie? ;)
XxJakeBluesxX
19.03.2005, 17:58
Funktioniert bei mir nicht... :(
EXIF Info
Model: DiMAGE A2
ExposureTime: 10 Sekunden
FNumber: F/0
ISOSpeedRatings: 64
FocalLength: 0 mm
Warum funktioniert dann das gleiche Script bei Deinen Bilder in unserer Galerie? ;)
Weil Ihr vielleicht eine andere functions.php, details.html und exif_bit.html habt...?
Die Dateien die ich heute von Peter erhalten habe funktionieren bei mir auch nicht...
Jerichos
19.03.2005, 18:17
Weil Ihr vielleicht eine andere functions.php, details.html und exif_bit.html habt...?
details.html hat damit rein gar nichts zu tun. Dort wird ja nur die exif_bit.html eingebunden. Den Abschnitt hast Du ja eingebaut, oder?
Die exif_bit.html ist nur für die Formatierung der angezeigten Daten zuständig die zeilenweise ausgelesen werden. Also liegts daran auch nicht.
Und in der functions.php wird, wenn ich mich noch recht entsinne, nur eine Zeile eingefügt, nämlich
include(ROOT_PATH.'includes/exif.php');
Es spielt sich also alles in der exif.php ab.
EDIT:
Öhm, ja wie nun?!??!?
-> http://www.mydigipix.de/4images/details.php?image_id=240
Piano Claudio,
bei deinem (und meinem) Provider toptip gibt es leichte Inkontinenzen in der PHP-Konfiguration, die ich noch nicht ganz aufgebröselt habe.
Insofern läuft die Forums-Version EXIF-Mässig nicht ganz rund bei uns.
XxJakeBluesxX
19.03.2005, 18:36
Ich brauche nur den Code um "FocalLengthIn35mmFilm" anzeigen zu lassen.
Das hier -> "FocalLength: 7.203125 mm"
sieht doch ziemlich blöd aus... :flop:
Werde noch ein bisschen rumbasteln, evtl. finde ich ja eine Lösung...
Claudio lass das basteln,
da du wohl eh nur A2-Bilder in deiner Galerie hast,
nimm einfach die beiden Kommentarzeichen "//" vor $val hier wech:
case "FocalLength":
//$val = (round(exif_get_str_val($val))*3.89) . " mm";
break;
XxJakeBluesxX
19.03.2005, 19:10
Claudio lass das basteln,
da du wohl eh nur A2-Bilder in deiner Galerie hast,
nimm einfach die beiden Kommentarzeichen "//" vor $val hier wech:
case "FocalLength":
//$val = (round(exif_get_str_val($val))*3.89) . " mm";
break;
Toll. Jetzt steht da 0 mm. :(
0 mm ist doch sehr übersichtlich.
Sorry ich habe die Zeile per C&P aus deinem Posting oben übernommen, nimm einfach mal diese und achte auf die Leerzeichen:
$val = (round(exif_get_str_val($val))*3.89) . " mm";
XxJakeBluesxX
19.03.2005, 19:23
0 mm ist doch sehr übersichtlich.
Sorry ich habe die Zeile per C&P aus deinem Posting oben übernommen, nimm einfach mal diese und achte auf die Leerzeichen:
$val = (round(exif_get_str_val($val))*3.89) . " mm";
Das ist doch exakt dieselbe Zeile die ich auch habe...
Wofür steht eigentlich der Wert 3.89?
3.89 ist der Crop-Faktor der Ax
hmmm, ich hab mir die Dateien von pkw schicken lassen und den code in die details.html an die richtige stelle kopiert. Bei mir klappts .....
XxJakeBluesxX
20.03.2005, 14:20
hmmm, ich hab mir die Dateien von pkw schicken lassen und den code in die details.html an die richtige stelle kopiert. Bei mir klappts .....
Wie hast Du das gemacht? Und welchen Code hast Du wo in die details.html kopiert?
Jerichos
20.03.2005, 15:39
Wie hast Du das gemacht? Und welchen Code hast Du wo in die details.html kopiert?
Wie wär´s wenn Ihr einfach nach Anleitung vorgeht und nur die exif.php von uns benutzt? :roll:
-> http://www.4homepages.de/forum/index.php?topic=3274.0
Für FocalLength sieht er so aus:
case "FocalLength":
//$val = (round(exif_get_str_val($val))*3.89) . " mm";
break;
Das funzt nur für die Dimage!!!
Bevor wir hier ewig Scripte hin und her schicken, hier unsere derzeitige exif.php:
<?php
// true: enable the field filter
// false: disable the field filter
define('EXIF_CONTROL', true);
// add the field name for show in exif section
// remember the field name with the colon ":"
define('EXIF_FILTER', "
Model:
ExposureTime:
FNumber:
ISOSpeedRatings:
FocalLengthIn35mmFilm:
");
function exif_filter_control() {
return EXIF_CONTROL;
}
function exif_filter($name) {
if (strpos(EXIF_FILTER, ($name . ":")) > 0) {
return true;
} else {
return false;
}
}
function exif_get_str_val($val) {
$val = (substr($val, 0, strpos($val, "/"))) / (substr($val, strpos($val, "/") + 1));
return $val;
}
function exif_parse_value($name, $val) {
switch($name) {
case "Orientation":
if($val==1) $val = "Normal";
if($val==2) $val = "Mirrored";
if($val==3) $val = "Upsidedown";
if($val==4) $val = "Upsidedown Mirrored";
if($val==5) $val = "90deg CW Mirrored";
if($val==6) $val = "90deg CCW";
if($val==7) $val = "90deg CCW Mirrored";
if($val==8) $val = "90deg CW";
break;
case "ResolutionUnit":
if($val==1) $val = "No Unit";
if($val==2) $val = "Inch";
if($val==3) $val = "Centimeter";
break;
case "YCbCrPositioning":
if($val==1) $val = "Pixel Array";
if($val==2) $val = "Datum Point";
break;
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 . " Sekunden";
}
break;
case "FNumber":
$val = "F/" . exif_get_str_val($val);
break;
case "ExposureProgram":
if($val==1) $val = "Manual control";
if($val==2) $val = "Program normal";
if($val==3) $val = "Aperture priority";
if($val==4) $val = "Shutter priority";
if($val==5) $val = "Program creative(slow program)";
if($val==6) $val = "Program action(high-speed program)";
if($val==7) $val = "Portrait mode";
if($val==8) $val = "Landscape mode";
break;
case "ExifVersion":
$val = round($val / 100, 2);
break;
case "ComponentsConfiguration":
$val = bin2hex($val);
$val = str_replace("01","Y",$val);
$val = str_replace("02","Cb",$val);
$val = str_replace("03","Cr",$val);
$val = str_replace("04","R",$val);
$val = str_replace("05","G",$val);
$val = str_replace("06","B",$val);
$val = str_replace("00","",$val);
break;
case "CompressedBitsPerPixel":
$val = exif_get_str_val($val);
break;
case "ShutterSpeedValue":
$val = "1/" . round(pow(2, exif_get_str_val($val))) . " seconds";
break;
case "ApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
if ((substr($val, 0, strpos($val, "/"))) == "0") {
$val = "0 Step";
} else {
$val = $val . " Step";
}
break;
case "MaxApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "SubjectDistance":
$val = exif_get_str_val($val) . " M";
break;
case "MeteringMode":
if($val==0) $val = "Unknown";
if($val==1) $val = "Average";
if($val==2) $val = "Center Weighted Average";
if($val==3) $val = "Spot";
if($val==4) $val = "Multi-spot";
if($val==5) $val = "Multi-segment";
if($val==6) $val = "Partial";
if($val==255) $val = "Other";
break;
case "LightSource":
if($val==0) $val = "Unknown";
if($val==1) $val = "Daylight";
if($val==2) $val = "Fluorescent";
if($val==3) $val = "Tungsten";
if($val==10) $val = "Flash";
if($val==17) $val = "Standard light A";
if($val==18) $val = "Standard light B";
if($val==19) $val = "Standard light C";
if($val==20) $val = "D55";
if($val==21) $val = "D65";
if($val==22) $val = "D75";
if($val==255) $val = "Other";
break;
case "Flash":
if($val==0) $val = "No Flash";
if($val==1) $val = "Flash fired";
if($val==5) $val = "Flash fired but strobe return light not detected";
if($val==7) $val = "Flash fired and strobe return light detected";
if($val==9) $val = "Undefined";
break;
case "FocalLength":
$val = exif_get_str_val($val) . " mm";
break;
case "FocalLengthIn35mmFilm":
$val = $val . " mm";
break;
case "FlashPixVersion":
$val = round($val / 100, 2);
break;
case "ColorSpace":
if($val==1) $val = "sRGB";
if($val=='65535') $val = "Uncalibrated";
break;
case "FocalPlaneXResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneYResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneResolutionUnit":
if($val==1) $val = "No Unit";
if($val==2) $val = "Inch";
if($val==3) $val = "Centimeter";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x03) $val = "Digital still camera";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x01) $val = "Directly photographed";
break;
}
return $val;
}
?>
Hallo zusammen!
Habe mal diesen alten (hilfreichen!) Thread rausgekramt und jetzt nach allem basteln ein Problemchen:
Ich habe Deine exif.php Datei erstellt, Jürgen und es erscheint nun oben über der Anzeige von 4images folgende Meldung:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/htdocs/web55/html/4images/includes/exif.php:1) in /srv/www/htdocs/web55/html/4images/includes/sessions.php on line 84
Kann mir jemand helfen?
Manni vielleicht?
Jürgen?
Danke!
Werde wahrscheinlich erst wieder heute abend darauf zurückkommen können, da Großveranstaltung unserer Kirchengemeinde ansteht, aber schon Danke!
Gruß
Henning
'n Abend!
Kann mir wirklich keiner / keine helfen?!?
Biiiitttttteee
Gruß
Henning
Alles in Ordnung. Ich habe den Fehler gefunden... :top:
Gruß
Henning
Jerichos
28.11.2005, 09:57
Alles in Ordnung. Ich habe den Fehler gefunden... :top:
Gruß
Henning
Sorry Henning, war übers WE weg.
Lass mich raten, es war ne unnötige Leerzeile am Ende einer Datei? ;)
...Leerzeichen am Anfang :cool: , Jürgen...
Aber Danke für deine Nachfrage!
Jetzt bin ich gerade dabei die Exifdaten einzudeutschen. Einige haben das ja schon geschafft (Manni, Badman, usw.). Mal sehen ob mir da jemand helfen kann?!
Ich habe in der exif.php die entsprechenden Übersetzungszeilen... (mit Hilfe von Jörg alias Badman: DANKE!) allerdings funzt es noch nicht. Muss da noch etwas an den lang-Dateien geschraubt werden?
Also 4images-Cracks zu mir!!! :top:
Gruß
Henning
Jerichos
28.11.2005, 11:12
Jetzt bin ich gerade dabei die Exifdaten einzudeutschen. Einige haben das ja schon geschafft (Manni, Badman, usw.). Mal sehen ob mir da jemand helfen kann?!
Wie, Manni hat das schon geschafft?!?! Und warum sagt er uns das nicht? :D
Manni, los an die Arbeit. *huschhusch*
Numma hööööösch --- gaaaaanz laaaaangsaaaam --- irgendwie war der letzte Glühwein schlecht :cool:
...oder war's der Rum innendrinne???? ;)
Oki, here is the exif.php in german:
<?php
/*
4images EXIF MOD
Version : 0.3
Date: 2003-01-17
By: fatman (fatman_li@yahoo.com.hk)
*/
// true: enable the field filter
// false: disable the field filter
define('EXIF_CONTROL', true);
// add the field name for show in exif section
// remember the field name with the colon ":"
define('EXIF_FILTER', "
Make:
Model:
DateTime:
Orientation:
FNumber:
ShutterSpeedValue:
ExposureTime:
ISOSpeedRatings:
ExposureBiasValue:
MeteringMode:
Flash:
FocalLength:
FocalLengthIn35mmFilm:
ColorSpace:
WhiteBalance:
");
function exif_filter_control() {
return EXIF_CONTROL;
}
function exif_filter($name) {
if (strpos(EXIF_FILTER, ($name . ":")) > 0) {
return true;
} else {
return false;
}
}
function exif_get_str_val($val) {
$val = (substr($val, 0, strpos($val, "/"))) / (substr($val, strpos($val, "/") + 1));
return $val;
}
function exif_parse_value($name, $val) {
switch($name) {
case "Orientation":
if($val==1) $val = "Normal";
if($val==2) $val = "Gespiegelt";
if($val==3) $val = "Gedreht";
if($val==4) $val = "Gedreht gespiegelt";
if($val==5) $val = "90 Grad UZ gespiegelt";
if($val==6) $val = "90 Grad GUZ";
if($val==7) $val = "90 Grad GUZ gespiegelt";
if($val==8) $val = "90 Grad UZ";
break;
case "DateTime":
$val = $val;
$val = substr($val,8,2).".".substr($val,5,2).".".substr($val,0,4)." - ".substr($val,11,5)." Uhr";
break;
case "ResolutionUnit":
if($val==1) $val = "Keine Einheit";
if($val==2) $val = "Inch";
if($val==3) $val = "Zentimeter";
break;
case "YCbCrPositioning":
if($val==1) $val = "Pixel Array";
if($val==2) $val = "Datum Point";
break;
case "ExposureTime":
$val = $val . " Sekunden";
break;
case "FNumber":
$val = "F/" . exif_get_str_val($val);
break;
case "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";
break;
case "ExifVersion":
$val = round($val / 100, 2);
break;
case "ComponentsConfiguration":
$val = bin2hex($val);
$val = str_replace("01","Y",$val);
$val = str_replace("02","Cb",$val);
$val = str_replace("03","Cr",$val);
$val = str_replace("04","R",$val);
$val = str_replace("05","G",$val);
$val = str_replace("06","B",$val);
$val = str_replace("00","",$val);
break;
case "CompressedBitsPerPixel":
$val = exif_get_str_val($val);
break;
case "ShutterSpeedValue":
$val = "1/" . round(pow(2, exif_get_str_val($val))) . " Sekunden";
break;
case "ApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
if ((substr($val, 0, strpos($val, "/"))) == "0") {
$val = "0 EV";
} else {
$val = $val . " EV";
}
break;
case "MaxApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "SubjectDistance":
$val = exif_get_str_val($val) . " M";
break;
case "MeteringMode":
if($val==0) $val = "Unbekannt";
if($val==1) $val = "Durchschnitt";
if($val==2) $val = "Mittenbetont";
if($val==3) $val = "Spot";
if($val==4) $val = "Multi-Spot";
if($val==5) $val = "Multi-Segment";
if($val==6) $val = "Teile";
if($val==255) $val = "Anders";
break;
case "LightSource":
if($val==0) $val = "Unbekannt";
if($val==1) $val = "Tageslicht";
if($val==2) $val = "Fluorescent";
if($val==3) $val = "Tungsten";
if($val==10) $val = "Blitz";
if($val==17) $val = "Standard Licht A";
if($val==18) $val = "Standard Licht B";
if($val==19) $val = "Standard Licht C";
if($val==20) $val = "D55";
if($val==21) $val = "D65";
if($val==22) $val = "D75";
if($val==255) $val = "Anders";
break;
case "Flash":
if($val==0) $val = "Kein Blitz";
if($val==1) $val = "Blitz ausgelöst";
if($val==5) $val = "Flash fired but strobe return light not detected";
if($val==7) $val = "Flash fired and strobe return light detected";
if($val==9) $val = "Undefined";
if($val==16) $val = "Blitzlicht nicht aufgeblitzt";
break;
case "FocalLength":
$val = round(exif_get_str_val($val),2) . " mm";
break;
case "FocalLengthIn35mmFilm":
$val = round($val,2) . " mm";
break;
case "FlashPixVersion":
$val = round($val / 100, 2);
break;
case "ColorSpace":
if($val==1) $val = "sRGB";
if($val=='65535') $val = "Unkalibriert";
break;
case "FocalPlaneXResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneYResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneResolutionUnit":
if($val==1) $val = "Keine Einheit";
if($val==2) $val = "Inch";
if($val==3) $val = "Zentimeter";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x03) $val = "Digital still camera";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x01) $val = "Directly photographed";
break;
}
return $val;
}
function exif_parse_name($name, $val) {
switch($name) {
case "Orientation":
$name = "Ausrichtung";
break;
case "Make":
$name = "Kamera-Hersteller";
break;
case "Model":
$name = "Kamera-Modell";
break;
case "DateTime":
$name = "Aufnahme-Datum und Zeit";
break;
case "ISOSpeedRatings":
$name = "ISO-Wert";
break;
case "WhiteBalance":
$name = "Weißabgleich";
break;
case "ResolutionUnit":
$name = "Auflösungseinheit";
break;
case "YCbCrPositioning":
$name = "YCbCrPositionierung";
break;
case "ExposureTime":
$name = "Belichtungszeit";
break;
case "FNumber":
$name = "Blende";
break;
case "ExposureProgram":
$name = "Belichtungsprogramm";
break;
case "ExifVersion":
$name = "Exif-Version";
break;
case "ComponentsConfiguration":
$name = "Komponentenkonfiguration";
break;
case "CompressedBitsPerPixel":
$name = "Komprimierte Bits pro Pixel";
break;
case "ShutterSpeedValue":
$name = "Belichtungszeit";
break;
case "ApertureValue":
$name = "Blendenöffnungswert";
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
$name = "Wert der Belichtungsabweichung";
break;
case "MaxApertureValue":
$name = "Maximaler Blendenöffnungswert";
break;
case "SubjectDistance":
$name = "Motiventfernung";
break;
case "MeteringMode":
$name = "Belichtungsmessung";
break;
case "LightSource":
$name = "Lichtquelle";
break;
case "Flash":
$name = "Blitz";
break;
case "FocalLength":
$name = "Brennweite (Objektiv)";
break;
case "FocalLengthIn35mmFilm":
$name = "Brennweite (35mm-KB)";
break;
case "FlashPixVersion":
$name = "FlashPix-Version";
break;
case "ColorSpace":
$name = "Farbraum";
break;
case "FocalPlaneXResolution":
$name = "X Auflösung der Brennebene";
break;
case "FocalPlaneYResolution":
$name = "Y Auflösung der Brennebene";
break;
case "FocalPlaneResolutionUnit":
$name = "Auflösungseinheit der Brennebene";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$name = "Datei Quelle";
break;
}
return $name;
}
?>
Aber Vorsicht mit den Leerzeichen ;)
Hey Manni!
Vielen Dank! :top: :cool: :top:
Jetzt hab ich deine Datei eingebaut, aber es gibt immer noch keine deutsche Anzeige. Da steht z.B. immer noch "Make" statt "Hersteller"...
Woran kann das liegen? Ich bin ratlos :shock: :?
Gruß
Henning
Äääähm ich im Moment auch -- stay tuned....
Ich hab's:
functions.php anpassen, bei mir ist es Zeile 408 (kann bei Dir anders sein)
"exif_name" => exif_parse_name($name, $val) . ":",
Der komplette Block lautet dann:
$exif_info = "";
if ((($file_extension == "jpg") || ($file_extension == "jpeg")) &&($detailed_view)) {
$exif = @exif_read_data ($media_src,'IFD0');
$bgcounter = 0;
if ($exif) {
$exif = @exif_read_data ($media_src,0,true);
foreach($exif as $key=>$section) {
if (($key == "IFD0") || ($key == "EXIF")) {
foreach($section as $name=>$val) {
if (!(exif_filter($name)) && exif_filter_control()) continue;
$row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
$site_template->register_vars(array(
"exif_value" => exif_parse_value($name, $val),
"exif_name" => exif_parse_name($name, $val) . ":",
"row_bg_number" => $row_bg_number
));
$exif_info .= $site_template->parse_template("exif_bit");
}
}
}
}
}
}
Juhuuuuuuu :top: :top: :top: :top:
Klappt!
Aber da soll mal jemand drauf kommen, der gerade erst anfängt mit php und Co. umzugehen. :shock: :shock:
Vielen, vielen, vielen Dank, meinen nächsten Glühwein trinke ich auf Dich, Manni!
Gruß
Henning
ps.: @Jürgen: Jetzt weißt Du ja, wie's fürs Forum funzt!
ps.: @Jürgen: Jetzt weißt Du ja, wie's fürs Forum funzt!
Jürgen bleib geschmeidich -- ist jetzt auch bei uns drin ;)
XxJakeBluesxX
28.11.2005, 15:54
Juhuuuuuuu :top: :top: :top: :top:
Klappt!
Deine Webseite klappt im Moment aber nicht... :roll:
Juhuuuuuuu :top: :top: :top: :top:
Klappt!
Deine Webseite klappt im Moment aber nicht... :roll:
Scheint wohl an Prixa zu liegen. Und ich dachte schon, wir hätten bei Deinem Exif-Problem was verschlimmbessert.
Hallo Leute,
ich habe auf meine HP erfolgreich die Seiten aktualisiert aber warum wird unter Aufnahme, Datum und Zeit nicht die richtigen Aufnahmezeiten angezeigt :?: kopfkratz
Wer kann mir dafür eine Erklärung geben.
Gruß Volker
Juhuuuuuuu :top: :top: :top: :top:
Klappt!
Deine Webseite klappt im Moment aber nicht... :roll:
Scheint wohl an Prixa zu liegen. Und ich dachte schon, wir hätten bei Deinem Exif-Problem was verschlimmbessert.
Nee, liegt an Prixa, bzw. an irgendwelchen Vergabeproblemen bei Denic...
Ihr habt ganze Arbeit geleistet :top: Danke!
...aber warum wird unter Aufnahme, Datum und Zeit nicht die richtigen Aufnahmezeiten angezeigt :?: kopfkratz
Gute Frage ;) - keine Ahnung. Theoretisch sollte das klappen. Praktisch ist da wohl ein Wurm drin :evil:
Hat schon jemand rausbekommen, wie man die Exif-Angaben unter den Bildern sortieren kann???
Die Reihenfolge gefällt mir irgendwie überhaupt nicht :flop:
Ich hab so ziemlich alles umgestellt, was mir einfiel, aber irgendwie klappt es nicht. :roll:
Übrigens: Die Belichtungszeit ist doppelt vorhanden. Die "ShutterSpeedValue" rausschmeissen,
das ist die untere der beiden Belichtungszeit-Angaben ;)
...aber warum wird unter Aufnahme, Datum und Zeit nicht die richtigen Aufnahmezeiten angezeigt :?: kopfkratz
Gute Frage ;) - keine Ahnung. Theoretisch sollte das klappen. Praktisch ist da wohl ein Wurm drin :evil:
In der Exif.php ist der Parameter "DateTime" angegeben. Es muss aber noch Werte geben für "DateTimeOriginal".
Mit DateTime werden Datum und Uhrzeit der letzten Speicherung der Datei (also nach Bearbeitung) angegeben.
DateTimeOriginal enthält die tatsächlichen Aufnahmedaten.
Nur: Welche vals müssen da abgefragt werden????
...aber warum wird unter Aufnahme, Datum und Zeit nicht die richtigen Aufnahmezeiten angezeigt :?: kopfkratz
Gute Frage ;) - keine Ahnung. Theoretisch sollte das klappen. Praktisch ist da wohl ein Wurm drin :evil:
Ich glaub ich habs gefunden...eigentlich einfach :roll:
In der exif.php einfach überall "DateTime" durch "DateTimeOriginal" ersetzen. Mehr isses nich...
Dann wird das Original-Aufnahmedatum angezeigt statt des letzten Änderungsdatums.
Ich glaube, so langsam entwickeln wir uns hier zum verständlichen 4images-Forum. Der Knowhow-Level steigt :top: ;)
Das isses Andreas :top: :top: :top:
In der Forums-Galerie hab' ich mal beide Werte im Moment drin.
Wenn wir gezz noch eine Lösung basteln, die bei Vorhandensein von EXIF's einen Butten anzeigt, nach dessen Klick die EXIF's in einem Popup aufgehen........
Hier noch die aktuelle Forums-EXIF-PHP:
<?php
/*
4images EXIF MOD
Version : 0.3
Date: 2003-01-17
By: fatman (fatman_li@yahoo.com.hk)
*/
// true: enable the field filter
// false: disable the field filter
define('EXIF_CONTROL', true);
// add the field name for show in exif section
// remember the field name with the colon ":"
define('EXIF_FILTER', "
Make:
Model:
DateTime:
DateTimeOriginal:
Orientation:
FNumber:
ShutterSpeedValue:
ExposureTime:
ISOSpeedRatings:
ExposureBiasValue:
MeteringMode:
Flash:
FocalLength:
FocalLengthIn35mmFilm:
ColorSpace:
WhiteBalance:
");
function exif_filter_control() {
return EXIF_CONTROL;
}
function exif_filter($name) {
if (strpos(EXIF_FILTER, ($name . ":")) > 0) {
return true;
} else {
return false;
}
}
function exif_get_str_val($val) {
$val = (substr($val, 0, strpos($val, "/"))) / (substr($val, strpos($val, "/") + 1));
return $val;
}
function exif_parse_value($name, $val) {
switch($name) {
case "Orientation":
if($val==1) $val = "Normal";
if($val==2) $val = "Gespiegelt";
if($val==3) $val = "Gedreht";
if($val==4) $val = "Gedreht gespiegelt";
if($val==5) $val = "90 Grad UZ gespiegelt";
if($val==6) $val = "90 Grad GUZ";
if($val==7) $val = "90 Grad GUZ gespiegelt";
if($val==8) $val = "90 Grad UZ";
break;
case "DateTime":
$val = $val;
$val = substr($val,8,2).".".substr($val,5,2).".".substr($val,0,4)." - ".substr($val,11,5)." Uhr";
break;
case "DateTimeOriginal":
$val = $val;
$val = substr($val,8,2).".".substr($val,5,2).".".substr($val,0,4)." - ".substr($val,11,5)." Uhr";
break;
case "ResolutionUnit":
if($val==1) $val = "Keine Einheit";
if($val==2) $val = "Inch";
if($val==3) $val = "Zentimeter";
break;
case "YCbCrPositioning":
if($val==1) $val = "Pixel Array";
if($val==2) $val = "Datum Point";
break;
case "ExposureTime":
$val = $val . " Sekunden";
break;
case "FNumber":
$val = "F/" . exif_get_str_val($val);
break;
case "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";
break;
case "ExifVersion":
$val = round($val / 100, 2);
break;
case "ComponentsConfiguration":
$val = bin2hex($val);
$val = str_replace("01","Y",$val);
$val = str_replace("02","Cb",$val);
$val = str_replace("03","Cr",$val);
$val = str_replace("04","R",$val);
$val = str_replace("05","G",$val);
$val = str_replace("06","B",$val);
$val = str_replace("00","",$val);
break;
case "CompressedBitsPerPixel":
$val = exif_get_str_val($val);
break;
case "ShutterSpeedValue":
$val = "1/" . round(pow(2, exif_get_str_val($val))) . " Sekunden";
break;
case "ApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
if ((substr($val, 0, strpos($val, "/"))) == "0") {
$val = "0 EV";
} else {
$val = $val . " EV";
}
break;
case "MaxApertureValue":
$val = "F/" . round(pow(sqrt(2), exif_get_str_val($val)),1);
break;
case "SubjectDistance":
$val = exif_get_str_val($val) . " M";
break;
case "MeteringMode":
if($val==0) $val = "Unbekannt";
if($val==1) $val = "Durchschnitt";
if($val==2) $val = "Mittenbetont";
if($val==3) $val = "Spot";
if($val==4) $val = "Multi-Spot";
if($val==5) $val = "Multi-Segment";
if($val==6) $val = "Teile";
if($val==255) $val = "Anders";
break;
case "LightSource":
if($val==0) $val = "Unbekannt";
if($val==1) $val = "Tageslicht";
if($val==2) $val = "Fluorescent";
if($val==3) $val = "Tungsten";
if($val==10) $val = "Blitz";
if($val==17) $val = "Standard Licht A";
if($val==18) $val = "Standard Licht B";
if($val==19) $val = "Standard Licht C";
if($val==20) $val = "D55";
if($val==21) $val = "D65";
if($val==22) $val = "D75";
if($val==255) $val = "Anders";
break;
case "Flash":
if($val==0) $val = "Kein Blitz";
if($val==1) $val = "Blitz ausgelöst";
if($val==5) $val = "Flash fired but strobe return light not detected";
if($val==7) $val = "Flash fired and strobe return light detected";
if($val==9) $val = "Undefined";
if($val==16) $val = "Blitzlicht nicht aufgeblitzt";
break;
case "FocalLength":
$val = round(exif_get_str_val($val),2) . " mm";
break;
case "FocalLengthIn35mmFilm":
$val = round($val,2) . " mm";
break;
case "FlashPixVersion":
$val = round($val / 100, 2);
break;
case "ColorSpace":
if($val==1) $val = "sRGB";
if($val=='65535') $val = "Unkalibriert";
break;
case "FocalPlaneXResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneYResolution":
$val = round(exif_get_str_val($val));
break;
case "FocalPlaneResolutionUnit":
if($val==1) $val = "Keine Einheit";
if($val==2) $val = "Inch";
if($val==3) $val = "Zentimeter";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x03) $val = "Digital still camera";
break;
case "FileSource":
$val = bin2hex($val);
if($val==0x01) $val = "Directly photographed";
break;
}
return $val;
}
function exif_parse_name($name, $val) {
switch($name) {
case "Orientation":
$name = "Ausrichtung";
break;
case "Make":
$name = "Kamera-Hersteller";
break;
case "Model":
$name = "Kamera-Modell";
break;
case "DateTime":
$name = "Letzte Änderung";
break;
case "DateTimeOriginal":
$name = "Aufnahme-Datum und Zeit";
break;
case "ISOSpeedRatings":
$name = "ISO-Wert";
break;
case "WhiteBalance":
$name = "Weißabgleich";
break;
case "ResolutionUnit":
$name = "Auflösungseinheit";
break;
case "YCbCrPositioning":
$name = "YCbCrPositionierung";
break;
case "ExposureTime":
$name = "Belichtungszeit";
break;
case "FNumber":
$name = "Blende";
break;
case "ExposureProgram":
$name = "Belichtungsprogramm";
break;
case "ExifVersion":
$name = "Exif-Version";
break;
case "ComponentsConfiguration":
$name = "Komponentenkonfiguration";
break;
case "CompressedBitsPerPixel":
$name = "Komprimierte Bits pro Pixel";
break;
case "ShutterSpeedValue":
$name = "Belichtungszeit";
break;
case "ApertureValue":
$name = "Blendenöffnungswert";
break;
case "BrightnessValue ":
$val = exif_get_str_val($val);
break;
case "ExposureBiasValue":
$name = "Wert der Belichtungsabweichung";
break;
case "MaxApertureValue":
$name = "Maximaler Blendenöffnungswert";
break;
case "SubjectDistance":
$name = "Motiventfernung";
break;
case "MeteringMode":
$name = "Belichtungsmessung";
break;
case "LightSource":
$name = "Lichtquelle";
break;
case "Flash":
$name = "Blitz";
break;
case "FocalLength":
$name = "Brennweite (Objektiv)";
break;
case "FocalLengthIn35mmFilm":
$name = "Brennweite (35mm-KB)";
break;
case "FlashPixVersion":
$name = "FlashPix-Version";
break;
case "ColorSpace":
$name = "Farbraum";
break;
case "FocalPlaneXResolution":
$name = "X Auflösung der Brennebene";
break;
case "FocalPlaneYResolution":
$name = "Y Auflösung der Brennebene";
break;
case "FocalPlaneResolutionUnit":
$name = "Auflösungseinheit der Brennebene";
break;
case "SensingMethod":
if($val==2) $val = "1 chip color area sensor";
break;
case "FileSource":
$name = "Datei Quelle";
break;
}
return $name;
}
?>
Mich interessiert momentan vielmehr die Sortierung der Exif-Daten.
Hatt denn da keiner eine Lösung??
Andreas, da habe ich mir auch schon erfolglos einen abgebrochen :evil:
Es kann doch eigentlich nur so sein, dass die Exif-Daten in der allgemeinen Exif-Datei in einer festgelegten Reihenfolge drin sind. Da müßte man wohl diese Exif-Datei irgendwie ändern. Denn in 4-Images scheint es nicht zu gehen. Exif-Datei ändern hört sich wie eine Änderung der Firmware an... :roll:
Gruß
Henning
Es kann doch eigentlich nur so sein, dass die Exif-Daten in der allgemeinen Exif-Datei in einer festgelegten Reihenfolge drin sind. Da müßte man wohl diese Exif-Datei irgendwie ändern. Denn in 4-Images scheint es nicht zu gehen. Exif-Datei ändern hört sich wie eine Änderung der Firmware an... :roll:
Gruß
Henning
Da aber die Exifdaten ausgelesen und anschliessend in neuer Form in einer Liste abgebildet
werden, muss es doch auch möglich sein, eine Sortierreihenfolge festzulegen.
Nimme eine Tüte Buchstabensuppe: in der Tüte sind sie wirr durcheinander, auf deinem
Tellerrand ergeben die Buchstaben in der richtigen Reihenfolge sogar einen Sinn. :lol: ;)
Das Format der EXIF-Daten unterliegt einem Standard, den jede Cam mit ihrer Firmware unterstützt und der durch entsprechende Software (in diesem Fall ein entsprechendes Modul in PHP) ausgelesen wird.
Grundstandard plus herstellerspezifische "Makernotes".
PHP ändern kannste nur wenn Du einen Root-Server hast und PHP entsprechend kompilierst und installierst - davon haben aber alle anderen nix.
4images greift mit der exif.php auf die PHP-Funktionen zu und verarbeitet sie entsprechend (z.B. Übersetzung) -- theoretisch müsste hier eine Funktion zur Sortierung rein.
Teddy hat eine Anfrage im 4images-Forum abgeschossen -- mal schauen was draus wird.
Nimme eine Tüte Buchstabensuppe: in der Tüte sind sie wirr durcheinander, auf deinem
Tellerrand ergeben die Buchstaben in der richtigen Reihenfolge sogar einen Sinn. :lol: ;)
Bei dir vielleicht... ;)
Nee ist schon logisch, aber es ist ja tatsächlich irgendwie so, wie dachte. Die Reihenfolge liegt irgendwo da fest, wo wir keinen Einfluss drauf nehmen können... :roll:
Viel Erfolg beim Weitersuchen, aber bitte dann auch hier erzählen!
Gruß
Henning
Das Format der EXIF-Daten unterliegt einem Standard, den jede Cam mit ihrer Firmware unterstützt und der durch entsprechende Software (in diesem Fall ein entsprechendes Modul in PHP) ausgelesen wird.
Grundstandard plus herstellerspezifische "Makernotes".
PHP ändern kannste nur wenn Du einen Root-Server hast und PHP entsprechend kompilierst und installierst - davon haben aber alle anderen nix.
4images greift mit der exif.php auf die PHP-Funktionen zu und verarbeitet sie entsprechend (z.B. Übersetzung) -- theoretisch müsste hier eine Funktion zur Sortierung rein.
Teddy hat eine Anfrage im 4images-Forum abgeschossen -- mal schauen was draus wird.
Sollte doch kein Problem sein, die EXIF Daten mit nem gescheiten Tool wie exiftags in ein Array zu lesen und zu sorten.
apt-cache search exiftags
exiftags - Utility to read Exif tags from a digital camera JPEG file
In die vhost configs:
<Directory "<pfad zu user webspace>">
#BaseDir setzen damit Gallery die binaries findet
php_admin_value open_basedir <schon vorhandene values>:<pfad zu exitags binary>
</Directory>
Gescheite Gallerys, wie "Gallery (http://gallery.menalto.com/)", arbeiten eh schon mit Exiftags, da sollte der Anpassungsaufwand nochmal deutlich geringer sein.
ManfredK
22.05.2006, 22:26
Hallo,
Weiß schon jemand eine Lösung, wie man die EXIF-Daten in einer gewünschten Reihenfolge auflistet?
Ich wäre für hilfreiche Hinweise sooooooooooooooo dankbar.
Hallo,
kann mir jemand sagen wie ich unter der Version 1.73 die exif daten reinbekomme?
Eine Exif php habe ich nicht gefunden.
Danke
ManfredK
11.08.2006, 15:20
Hallo,
kann mir jemand sagen wie ich unter der Version 1.73 die exif daten reinbekomme?
Eine Exif php habe ich nicht gefunden.
Danke
In 1.7.3 sind ist die EXIF Anzeige schon inkludiert.
Welche Exif Daten eingeblendet werden, steht in der function.php drinnen.
Hallo Manfred,
wie kann ich das ind er Funktion php verändern, bei mir werden derzeit nicht alle Daten angezeigt.
siehe hier http://weru.we.funpic.de/details.php?image_id=286
ManfredK
11.08.2006, 15:44
Hallo Manfred,
wie kann ich das ind er Funktion php verändern, bei mir werden derzeit nicht alle Daten angezeigt.
siehe hier http://weru.we.funpic.de/details.php?image_id=286
Ich sehe gar keine EXIF Daten
Hast du in deinem Template die Änderungen (http://www.4homepages.de/forum/index.php?topic=13732.msg73982#msg73982) durchgeführt?
Welche EXIF willst du einblenden?
So sieht es bei mir aus:
http://manfredk.ma.funpic.de/4images/data/thumbnails/5/PICT1111_20060504_105935.jpg (http://manfredk.ma.funpic.de/4images/details.php?image_id=3)
Hallo Manfred, das sieht gut aus ( das Foto übrigens auch)
wie hast Du das hinbekommen?
Ich habe alle Templates geändert.
Gruß
Werner
ManfredK
11.08.2006, 16:47
Hallo Manfred, das sieht gut aus ( das Foto übrigens auch)
wie hast Du das hinbekommen?
Ich habe alle Templates geändert.
Gruß
Werner
Wenn du die Templates geändert hast, stimmt etwas mit der Bilddatei nicht.
Hast du sicher die details.html geändert?
Bei mir gibts in der details.htm keine line163 dort gehts nur bis 118
ist da was falsch?
ManfredK
11.08.2006, 17:00
Bei mir gibts in der details.htm keine line163 dort gehts nur bis 118
ist da was falsch?
Wichtig nicht die details.php sondern die details.html
Da ich in der Arbeit bin, kann ich nicht sagen welche Zeile. In der details.html nach {endif iptc_info}
fügst du folgenden Code ein:
{if exif_info}
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td class="bordercolor">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td class="head1" valign="top" colspan="2">EXIF Info</td>
</tr>
{exif_info}
</table>
</td>
</tr>
</table>
{endif exif_info}
Dann muss es gehen...
Jetzt hab ich grad Mist gebaut.............hab meine details.html versaut bekomme manches doppelt.
ManfredK
11.08.2006, 17:58
Versuch es mal mit dem default-Template.
Ob dann die EXIF sichtbar werden.
superburschi
11.08.2006, 18:05
Hallo an alle die sich auskennen.
Auch ich möchte gerne die Exif's in meine Galerie aufnehmen. Habe mittlerweile schon graue Haare und einen langen Bart.
Bitte schickt mir auch ein Template (Anleitung)
In meine Galerie könnt ihr ja mal reinschauen
Vielen Dank im voraus
Volker :top:
ManfredK
11.08.2006, 18:09
Hallo Volker,
In 1.7.3 hast du die EXIF Anzeige schon inkludiert.
Wenn du die diese Änderungen (http://www.4homepages.de/forum/index.php?topic=13732.msg73982#msg73982) in deinem Template durchführst, sollte es gehen.
Übrigens: Tolle Bilder :top:
superburschi
11.08.2006, 18:11
Hallo Volker,
In 1.7.3 hast du die EXIF Anzeige schon inkludiert.
Wenn du die diese Änderungen (http://www.4homepages.de/forum/index.php?topic=13732.msg73982#msg73982) in deinem Template durchführst, sollte es gehen.
Servus Manfred
Das habe ich probiert bin aber wohl nicht geschickt genug (manche sagen "zu blöd" :lol: )
Zum Glück hatte ich alles gesichert und konnte das alte wieder aufspielen.
Ich kann es nicht bring alles durcheinander :cry: :cry:
So jetzt bekomm ich was angezeigt http://weru.we.funpic.de/details.php?image_id=246
Leider nicht bei allen Bildern http://weru.we.funpic.de/details.php?image_id=286
ManfredK
11.08.2006, 18:18
So jetzt bekomm ich was angezeigt http://weru.we.funpic.de/details.php?image_id=246
Leider nicht bei allen Bildern http://weru.we.funpic.de/details.php?image_id=286
Dann hst du eben bei einigen Bildern beim Abspeichern die EXIF-Information verworfen (passiert öfter, in dem man auf für 'Web-speichern' geht).
Manfred ich DANKE Dir!
Jetzt muss ich nur noch versuchen die Zeilen zusammen zu rücken und in die Navigationsleiste Impressum und so weiter einfügen.
Gruß
Werner
Ich hoffe ich kann Dir auch mal helfen.
ManfredK
11.08.2006, 18:32
Manfred ich DANKE Dir!
Jetzt muss ich nur noch versuchen die Zeilen zusammen zu rücken und in die Navigationsleiste Impressum und so weiter einfügen.
Gruß
Werner
Ich hoffe ich kann Dir auch mal helfen.
Freut mich, dass ich dir helfen konnte :)
Meine Details.html hat nur 129 Zeilen, fehlt das etwas?
ManfredK
12.08.2006, 08:41
Meine Details.html hat nur 129 Zeilen, fehlt das etwas?
Also meine hat 257 Zeilen.
Aber das kann man nicht so direkt vergleichen. Die default details.html hat 242 Zeilen.
Deine kommt mir schon sehr kurz vor.
Womit editierts du die html-Datei?
ManfredK
12.08.2006, 08:41
Hallo Volker,
In 1.7.3 hast du die EXIF Anzeige schon inkludiert.
Wenn du die diese Änderungen (http://www.4homepages.de/forum/index.php?topic=13732.msg73982#msg73982) in deinem Template durchführst, sollte es gehen.
Servus Manfred
Das habe ich probiert bin aber wohl nicht geschickt genug (manche sagen "zu blöd" :lol: )
Zum Glück hatte ich alles gesichert und konnte das alte wieder aufspielen.
Ich kann es nicht bring alles durcheinander :cry: :cry:
Volker du hast eine PN
Hallo Manfred,
ich editiere sie mit Dreamweaver.
Ich denke ich habe mit der Datei wohl etwas verbockt, hab schon versucht sie neu zu finden...............aber hatte leider keine Sicherung gemacht.
Gruß
Werner
ManfredK
12.08.2006, 08:46
Hallo Manfred,
ich editiere sie mit Dreamweaver.
Ich denke ich habe mit der Datei wohl etwas verbockt, hab schon versucht sie neu zu finden...............aber hatte leider keine Sicherung gemacht.
Gruß
Werner
Aber es funktioniert ja wie du willst, oder?
Kann ich so nicht sagen , da ich ja nicht weiss was mir fehlt.
Hätte schon die Bilddaten und die Exif Daten ein bischen anders damit die Seite nicht so lang ist.
ManfredK
12.08.2006, 08:54
Kann ich so nicht sagen , da ich ja nicht weiss was mir fehlt.
Hätte schon die Bilddaten und die Exif Daten ein bischen anders damit die Seite nicht so lang ist.
Vielleicht versuchst du es mit einem anderen Template, dass dir eher zusagt.
Meine Seite ist noch viiiiieeeel länger :).
ManfredK
12.08.2006, 15:45
Hallo Werner,
Ich habe gesehen, dass es dein Template schon in Version 1.7.3 als Download gibt.
Template (http://4images.malediven-bilder.de/details.php?image_id=60)
Edit:
Habe gerade gesehen, dass das Update des Template nicht komplett ist :roll:
Hallo Manfred,
das hatte ich mir schon geladen, allerdings sind dort nicht alle html Seiten aktualisiert.
Moin allerseits,
ich ziehe gerade auch meine Galerie mit 4images 1.7.3 hoch( dort sind ja ein paar exif-Daten schon integriert). Da die doch ein bisschen dünn sind, habe ich sie mit Hilfe dieses Freds erweitert. Da kam natürlich bei mir auch das Sortierungsproblem hoch :roll:
Wollte hier mal kurz zeigen, wie ich das quick&dirty gelöst habe.
1. folgende Anpassung in der .\includes\functions.php, einfach die Strings, die später als Keys für das $exif_array verwendet werden um eine sortierbare Nummer erweitern (sind bei mir ein paar mehr als in der original 1.7.3 Version):
...
function get_exif_info($exif) {
$exif_match = array();
$exif_match['Make'] = "01make";
$exif_match['Model'] = "02model";
$exif_match['DateTimeOriginal'] = "03datetime";
$exif_match['ExposureTime'] = "04exposure";
$exif_match['FNumber'] = "05aperture";
$exif_match['ISOSpeedRatings'] = "06isospeed";
$exif_match['ExposureBiasValue'] = "07exposurebiasvalue";
$exif_match['ExposureProgram'] = "08exposureprogram";
$exif_match['MeteringMode'] = "09meteringmode";
$exif_match['MaxApertureValue'] = "10maxaperturevalue";
$exif_match['FocalLength'] = "11focallen";
$exif_match['FocalLengthIn35mmFilm'] = "12focallenKB";
...
Dann in der gleichen Datei hinter:
...
@exif_read_data($src, 'EXIF')) {
$exif_array = get_exif_info($exif_data);
folgendes eintragen
ksort($exif_array);
dies führt dazu, dass das Array nach seinen Keys aufsteigend nummeriert wird :-)
Jetzt muss man noch an den .\lang\deutsch\main.php und der entsprechenden englischen Version .\lang\englisch\main.php folgende Anpassung an die obigen Veränderungen vornehmen (nach 'exif_' die Nummern eintragen):
...
// EXIF Tags
$lang['exif_01make'] = "Hersteller:";
$lang['exif_02model'] = "Modell:";
$lang['exif_03datetime'] = "Aufnahmedatum:";
$lang['exif_04exposure'] = "Belichtungszeit:";
$lang['exif_05aperture'] = "Blende:";
$lang['exif_06isospeed'] = "ISO-Zahl:";
$lang['exif_07exposurebiasvalue'] = "Belichtungskorrektur:";
$lang['exif_08exposureprogram'] = "Belichtungsprogramm:";
$lang['exif_09meteringmode'] = "Belichtungsmessung:";
$lang['exif_10maxaperturevalue'] = "Maximale Blende:";
$lang['exif_11focallen'] = "Brennweite:";
$lang['exif_12focallenKB'] = "Brennweite KB:";
...
Obwohl ich die deutsche Version nutze musste ich die Anpassung in beiden Sprachdateien durchführen, sonst wurden die Exif-Namen nicht angeziegt (nur die Werte).
Hoffe, dies hilft dem einen oder anderen weiter.
PS: Falls jemand einen Blick auf meine Galerie (http://pluskota.funpic.de) werfen sollte, und die eine oder andere Ungereimtheit/Kritik feststellt/hat, wäre ich um eine PN dankbar.