4images Forum & Community
General / Allgemeines => Chit Chat => Topic started by: Birdy on December 10, 2007, 10:50:04 PM
-
Hallo Leutz!
Ich hab mal ne Frage: wie kann ich von einem beliebiges Bild, das nicht in der DB aber auf dem Server liegt, die EXIF-Daten auslesen?
Klar, ich könnte n neues Script schreiben, aber ich würds halt gern mit dem vorhandenen aus der Gallery machen.
Greetz Pascal
-
ähm ???
von einem x-beliebigen Bild???
dazu musst du das Bild auf den Server laden, wenn EXIF-Infos vorhanden sind, werden die dir angezeigt!
ansonsten, nutze: http://www.foto-freeware.de/exif-browser.php
das zeigt dir dann lokal, von deinen Bilder diese Infos an
-
Nee, ich mein schon von nem Bild, dass auf meinem Server liegt, nur ist es halt nicht in der eigentlichen Gallery, sondern in nem neuen, separaten Ordner und wird auch nicht vom Galleryscript aufgerufen, sondern von nem Script von mir, das aber in die Gallery eingebunden wird. Naja, ist nicht ganz einfach zu beschreiben. Also, die Bilder von der Gallery liegen ja in den Ordnern mit den Cat_ids, also 1, 2, 3 usw. Mein Bild liegt aber im Ordner xy. Und von diesem Bild möchte ich nun die Exif-Daten mit dem schon vorhandenen Script aus der Gallery auslesen.
-
versuchs mal so:
# Modul einbinden
use Image::ExifTool qw(ImageInfo);
# Das soll nicht ausgegeben werden
my @tagList = ('-ThumbnailImage', '-Directory');
my $exifTool = new Image::ExifTool;
# Duplikate unterdruecken bei der Ausgabe
$exifTool->Options(Duplicates => 0);
# Aufruf zum auslesen der Bildinfos
my $info = $exifTool->ImageInfo("$htmlpfad/exiftest.jpg", \@tagList);
# Ausgabe der Daten in eine Tabelle
print qq~
<table cellspacing="1" cellpadding="0" border="1">
<tr>
<td colspan="2"><b>EXIF Daten</b> </td>
</tr>
~;
foreach my $exi (sort keys %$info) {
print qq~<tr>
<td>$exi</td>
<td>$$info{$exi}</td>
</tr>
~;
}
print "</table>";
eventuell könnte man jetzt das erweitern, weglassen, input, (wie auch immer) für die Pfadangabe zum BIld < da es ja mehrere sein können
wobei natürlich das: http://de.php.net/manual/de/ref.exif.php als Grundlage dient
-
Ich kapier leider nicht ganz, was Du mir sagen willst, und ich bin auch nicht sicher, ob Du mich richtig verstanden hast. Also, drum nochmal, ich will das originale Script aus der Gallery benutzen, um von einem beliebigen Bild, das auf meinem Server liegt, aber nicht in der Gallery-DB drin ist, die EXIF-Daten auszulesen.
-
Birdy,
willst du die EXIF Daten aus dem data/XY ordner nur ANZEIGEN lassen?
-
bevor wir uns alle miteinander den kopf zerbrechen und files für dich editieren
hiermit kommst du am besten zurecht > http://www.ozhiker.com/electronics/pjmt/
-
Hallo Supporter,
kannst Du mir bitte in kurzen Sätzen Erklären was der Exif-Script genau macht.
Ich warte auf Deine Ansprache :roll:
nobby
-
Lieber nobby,
dies http://www.ozhiker.com/electronics/pjmt/library/Example.php?jpeg_fname=test.jpg
das ist was er sucht, schätze ich mal
ich hoffe hiermit gedient zu haben. :roll:
-
Das leuchtet ein. Du bist ein guter Supporter, Amen! 8)
-
Ist auch nicht das was ich suche, aber egal. Sagen wir, das Projekt ist an meiner unfähigkeit zur Beschreibung gescheitert. :(
Danke trotzdem für Eure Bemühungen!!!
Greetz Pascal
-
also nochmal von vorn:
du hast Bilder in 4images, in einem x-belibigen Ordner
dort möchtest du die Bilder einzeln, also nicht in 4images aufrufen und EXIF-Infos auslesen???
würdest du die Bilder in 4images aufrufen, hättest du ab Version 1.7.3 sowieso die EXIF-Infos!!!
Voraussetzung: dein Cam macht diese Infos, du bearbeitest die Bilder nicht per Auto-Image-Resizer, du veränderst die Bilder vor dem laden, nicht mit einem Bildbearbeitungsprogramm!!!
Was genau möchtest du denn jetzt nun???
-
Ok, ich versuchs nochmal. Ich habe 4images ganz normallaufen, und da werden auch die EXIF-Daten von den Pics angezeigt. Jetzt habe ich aber zusätzlich nen ordner mit Bildern drin (data/wolfi). Diese Bilder sind aber natürlich nicht in der DB registriert und werden auch nicht von der Gallery wie ich sie heruntergeladen hab angezeigt, sondern von nem Script von mir, das aber in 4images integriert ist. Und da 4images ja schon die Möglichkeit bietet EXIF-Daten anzuzeigen, möchte ich genau diese Funktion nutzen. Aber ich müsste halt wissen, wie ich die in meinem Script aufrufen muss.
So, ich hoffe, dass ich mich jetzt verständlicher ausgedrückt hab. Ist aber wirklich schwiereig, das zu beschreiben, und ich bin niemandem hier bös, wenn das nicht verstanden wird, ist ja meine Unfähigkeit... :(
Danke aber trotzdem für die Geduld!
Greetz Pascal
-
naja, wenn die Bilder nicht innerhalb der galerie angezeigt werden sollen/müssen, allerdings in einem eigenen Ordner innerhalb 4images liegen, warum willst du dann die halbe galerie umbauen, um das "interne" EXIF-Script zu nutzen, statt dem Vorschlag von @Nicky zu folgen, das Script direkt innerhald des Ordners zu isntallieren???
-
Also, die Bilder sind eigentlich schon in die Gallery integriert, nur halt mit meinen Scripts. Hier könnt ihr mal guggen, was ich damit meine: http://photo.mydvdz.ch
Es geht dabei um den Gastphotographen. Ich hab das so gelöst, damit der seine Bilder per FTP hochladen kann, ohne dass die Bilder aktiviert werden müssen. So kann ich ihm Zugriff auf seinen Ordner geben und mehr nicht.
-
Hallo,
Du liest mit Deinem Script die Bilder des Gastes aus dem unabhängigen Verzeichnis und zeigst diese in 4images an, richtig.
Dann müsstes Du Dein Script 4images die Anweisung geben die Exifdaten Auszulesen und die innerhalb 4images Anzuzeigen.
Da wüsste ich aber im Moment auch nicht wie das ohne großen Aufwand realisiert werden kann. Im Forum habe ich da auch
noch nicht mal sowas ähnliches gefunden was Dir da weiterhelfen würde.
nobby
-
Ja, genau so verhält sich das. Und die Lösung habe ich eben auch nirgends finden können, werder hier im Forum, noch mit eigenen Versuchen, die mittlerweilen sicher die 100er Grenze überschritten haben. Naja, ich werde das weiter versuchen und ev. weiss ja hier doch noch jemand einen guten Rat.
Eigentlich müsste ich ja nur wissen, welche Funktion ich aufrufen und mit welchen Infos ich diese füttern muss.
-
Ich schätze mal das die EXIF_BIT.HTML dafür zuständig ist, genau kann ich es Dir aber nicht sagen. Wäre denkbar.
-
Naja, die gehört zu den Templates und kann somit keine PHP-Funktionen enthalten. Ich denke, die Funktion ist eher in den Includes zu suchen, in der functions.php. Nur leider finde ich nicht heraus, welche funktion ich da ansprechen muss, und mit welchen Variabeln die arbeitet.
-
Hallo,
Was ich noch nicht ganz verstehe:
Was ist der Grund, daß die Bilder ausserhalb sind, wenn sie dann sowieso in die Galerie eingebunden werden.
die Funktionen befinden sich in: includes/functions.php
Aber die kannste ja nicht ansprechen, da du ein fremdes php zum Aufruf verwendest.
Ehrich gesagt ist es den ganzen Aufwand nicht wert und auch schade um die hier verschwendete Zeit für die bisherigen Posting,
wenn du doch schnell und einfach nur die images in 4images rüberschieben kannst.
Trotzdem was zum Testen, daß Dir nich langeweilig zu Weihnachten wird.
Hier ein keiner code für die Auslese vom imageheader:
<?php
$exif = read_exif_data ('deinpfad/dein_image.jpg');
while(list($k,$v)=each($exif)) {
echo "$k: $v<br>\n";
}
?>
Die Ausgabe sieht hier so aus:
Ausgabe:
FileName: p0001807.jpg
FileDateTime: 929353056
FileSize: 378599
CameraMake: Eastman Kodak Company
CameraModel: KODAK DC265 ZOOM DIGITAL CAMERA (V01.00)
DateTime: 1999:06:14 01:37:36
Height: 1024
Width: 1536
IsColor: 1
FlashUsed: 0
FocalLength: 8.0mm
RawFocalLength: 8
ExposureTime: 0.004 s (1/250)
RawExposureTime: 0.0040000001899898
ApertureFNumber: f/ 9.5
RawApertureFNumber: 9.5100002288818
FocusDistance: 16.66m
RawFocusDistance: 16.659999847412
Orientation: 1
ExifVersion: 0200
Wie man das änder könnte... Frag mich nicht !
In google suche: read_exif_data
Gruß
Kurt
-
Ja, dann mal danke für den Code. Wie den anpassen oder abändern, das weiss ich schon, hab ich schon mehrfach gemacht. Ich dachte halt, ich könnte die Funktion, die ja eh schon vorhanden ist, nutzen. Mein Script ist ja in 4images integriert, alsoist das php nicht fremd. Irgendwie ist das sicher machbar.
Die Bilder sind nicht in 4images, weil das zu unkomfortabel ist für nen Gast und für mich wenn der Gast die per FTP hochladen will. Der müsste genau wissen, in welchen Ordner die rein müssen, der müsste Kategorien erstellen können und Bilder in die DB einfügen und dazu müsste der Zugang zum ControlPanel haben. Das will ich nicht, und auch er nicht, weil zu kompliziert. Wieso? Er ist leicht Geistig Behindert, aber ein toller Fotograph.
UND SIE DREHT SICH DOCH!
Ich habs geschafft! *freu* ich musste nur nen kleinen Code-Schnipsel in mein Script einfügen:
$exif_info = "";
$exif_data = read_exif_data($image);
$exif_array = get_exif_info($exif_data);
$bgcounter = 0;
foreach ($exif_array as $key => $val) {
$row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
$site_template->register_vars(array(
"exif_value" => format_text($val),
"exif_name" => $lang['exif_'.$key],
"row_bg_number" => $row_bg_number
));
$exif_info .= $site_template->parse_template("exif_bit");
}
Und anschliessend natürlich noch parsen fürs Template.
Cool! 4images rockt immer mehr!!!
-
Glückwunsch :wink: