SonyUserforum

SonyUserforum (https://www.sonyuserforum.de/forum/index.php)
-   Café d`Image (https://www.sonyuserforum.de/forum/forumdisplay.php?f=94)
-   -   4images & exif daten? (https://www.sonyuserforum.de/forum/showthread.php?t=16379)

XxJakeBluesxX 19.03.2005 17:22

Funktioniert bei mir nicht... :(

Zitat:

EXIF Info
Model: DiMAGE A2
ExposureTime: 10 Sekunden
FNumber: F/0
ISOSpeedRatings: 64
FocalLength: 0 mm

Jerichos 19.03.2005 17:50

Zitat:

Zitat von XxJakeBluesxX
Funktioniert bei mir nicht... :(

Zitat:

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

Zitat:

Zitat von Jerichos
Zitat:

Zitat von XxJakeBluesxX
Funktioniert bei mir nicht... :(

Zitat:

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

Zitat:

Zitat von XxJakeBluesxX
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
Code:

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/deta...p?image_id=240

ManniC 19.03.2005 18:19

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...

ManniC 19.03.2005 18:55

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

Zitat:

Zitat von ManniC
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. :(

ManniC 19.03.2005 19:19

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

Zitat:

Zitat von ManniC
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?

ManniC 19.03.2005 19:30

3.89 ist der Crop-Faktor der Ax

GooSe 19.03.2005 23:11

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

Zitat:

Zitat von GooSe
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

Zitat:

Zitat von XxJakeBluesxX
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

Henning 26.11.2005 09:50

Zitat:

Zitat von Jerichos
Zitat:

Zitat von XxJakeBluesxX
Für FocalLength sieht er so aus:
Code:

    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:
Code:

<?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

Henning 26.11.2005 19:56

'n Abend!

Kann mir wirklich keiner / keine helfen?!?
Biiiitttttteee

Gruß

Henning

Henning 26.11.2005 20:11

Alles in Ordnung. Ich habe den Fehler gefunden... :top:

Gruß
Henning

Jerichos 28.11.2005 09:57

Zitat:

Zitat von Henning
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? ;)

Henning 28.11.2005 10:32

...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

Zitat:

Zitat von Henning
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*

ManniC 28.11.2005 11:37

Numma hööööösch --- gaaaaanz laaaaangsaaaam --- irgendwie war der letzte Glühwein schlecht :cool:

ManniC 28.11.2005 11:46

...oder war's der Rum innendrinne???? ;)

Oki, here is the exif.php in german:
Code:

<?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 ;)

Henning 28.11.2005 12:37

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

ManniC 28.11.2005 12:49

Äääähm ich im Moment auch -- stay tuned....

Henning 28.11.2005 12:55

mach ich...

ManniC 28.11.2005 13:02

Ich hab's:

functions.php anpassen, bei mir ist es Zeile 408 (kann bei Dir anders sein)

Code:

"exif_name" => exif_parse_name($name, $val) . ":",
Der komplette Block lautet dann:

Code:

          $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");
              }
            }
          }
        }
      }
    }


Henning 28.11.2005 13:48

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!

ManniC 28.11.2005 15:34

Zitat:

Zitat von Henning
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

Zitat:

Zitat von Henning
Juhuuuuuuu :top: :top: :top: :top:

Klappt!

Deine Webseite klappt im Moment aber nicht... :roll:

BadMan 28.11.2005 18:15

Zitat:

Zitat von XxJakeBluesxX
Zitat:

Zitat von Henning
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.

havo 28.11.2005 19:59

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

Henning 28.11.2005 20:00

Zitat:

Zitat von BadMan
Zitat:

Zitat von XxJakeBluesxX
Zitat:

Zitat von Henning
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!

ManniC 28.11.2005 20:31

Zitat:

Zitat von havo
...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:

Teddy 28.11.2005 21:55

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 ;)

Teddy 28.11.2005 22:28

Zitat:

Zitat von ManniC
Zitat:

Zitat von havo
...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????

Teddy 28.11.2005 23:18

Zitat:

Zitat von ManniC
Zitat:

Zitat von havo
...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.

Henning 28.11.2005 23:27

Ich glaube, so langsam entwickeln wir uns hier zum verständlichen 4images-Forum. Der Knowhow-Level steigt :top: ;)

ManniC 28.11.2005 23:33

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:

Code:

<?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;
}
?>


Teddy 28.11.2005 23:37

Mich interessiert momentan vielmehr die Sortierung der Exif-Daten.

Hatt denn da keiner eine Lösung??

ManniC 28.11.2005 23:50

Andreas, da habe ich mir auch schon erfolglos einen abgebrochen :evil:


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 Uhr.