• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Mitmachen beim DSLR-Forum Fotowettbewerb Mai 2025.
    Thema: "Zweckentfremdet"

    Jeden Monat attraktive Gewinnprämien, gesponsert von unserem Partner PixelfotoExpress.
    Alle Infos zum Juni-Wettbewerb hier!
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Flash Media Gallery für Bilder, Audio, Video - einfache schicke Web Galerie

Hiermit: exif_read_data()
Ist doch nur für die EXIF Daten (ExposureTime, FNumber, FocalLength, ISO), IPTC liest, soweit ich weiß, auch Daten wie Datum, Copyright, Bild-Beschreibung, etc... aus.


In html wäre kursiv ja kein Problem, innerhalb einer php Datei aber schon, für mich zumindest.

$tmp_str .= 'title="'.$file_title."\n\n".$exif_str.'" ';

Das ist meine Zeile. Ich hätte gerne, dass $file_title kursiv dargestellt wird. Bekomm es aber nicht hin. :confused::eek:
 
Hi!
..IPTC liest, soweit ich weiß, auch Daten wie Datum, Copyright, Bild-Beschreibung, etc... aus...

die var "$bild" musst du halt für deine code anpassen.

$size = getimagesize ($bild, $info);
if(is_array($info)) {
$iptc = iptcparse($info["APP13"]);
$c=0;
if(is_array($iptc)){
foreach (array_keys($iptc) as $s) {
$c = count ($iptc[$s]);
for ($iii=0; $iii <$c; $iii++)
{
if($s == "2#120")$caption = $iptc[$s][$iii];
if($s == "2#122")$caption_writer = $iptc[$s][$iii];
if($s == "2#105")$headline = $iptc[$s][$iii];
if($s == "2#040")$special_instructions = $iptc[$s][$iii];
if($s == "2#080")$byline = $iptc[$s][$iii];
if($s == "2#085")$byline_title = $iptc[$s][$iii];
if($s == "2#110")$credit = $iptc[$s][$iii];
if($s == "2#115")$source = $iptc[$s][$iii];
if($s == "2#005")$object_name = $iptc[$s][$iii];
if($s == "2#055")$date_created = $iptc[$s][$iii];
if($s == "2#090")$city = $iptc[$s][$iii];
if($s == "2#095")$state = $iptc[$s][$iii];
if($s == "2#101")$country = $iptc[$s][$iii];
if($s == "2#103")$original_transmission_reference = $iptc[$s][$iii];
if($s == "2#015")$category = $iptc[$s][$iii];
if($s == "2#020")$supplemental_category = $iptc[$s][$iii];
if($s == "2#025")$keyword .= $iptc[$s][$iii] . " ";
if($s == "2#116")$copyright_notice = $iptc[$s][$iii];
}
}
}
}
bevor irgendwelche fragen aufkommen, ja das ist mein code.
aber du darfst ihn für deine galerie verwenden.

oder hier Bspl.4

mfg Andi
 
Zuletzt bearbeitet:
Code:
$tmp_str .= 'title="'.$file_title."\n\n".$exif_str.'" ';
Das ist meine Zeile. Ich hätte gerne, dass $file_title kursiv dargestellt wird. Bekomm es aber nicht hin. :confused::eek:
Code:
$tmp_str .= 'title="<i>'.$file_title."</i>\n\n".$exif_str.'" ';

Geht das? Oder wird das dann in <i> ungewandelt? Wofür sind denn die beiden Umbrüche \n gut?
 
Ist doch nur für die EXIF Daten (ExposureTime, FNumber, FocalLength, ISO), IPTC liest, soweit ich weiß, auch Daten wie Datum, Copyright, Bild-Beschreibung, etc... aus.
Ja, Du hast recht, mein Fehler....
In html wäre kursiv ja kein Problem, innerhalb einer php Datei aber schon, für mich zumindest.
Eine PHP-Datei macht ja normalerweise nichts anderes als eine HTML-Datei zu erzeugen. Also musst Du einfach den HTML-Code mit in die auszugebende Variable packen - zumindest, wenn diese direkt ausgegeben wird und nicht durch weitere Funktionen manipuliert wird.
oder hier Bspl.4
$size = getimagesize ($bild, $info);
if(is_array($info)) {$iptc = iptcparse($info["APP13"]);
Rembrandt hat recht. Die IPTCs bekommt man über den Umweg getimagesize() -> iptcparse().
Schau Dir einfach mal die Doku zu diesen drei Funktionen an. Damit erhält man im Prinzip alle relevanten Metadaten:
getimagesize()
iptcparse()
exif_read_data()
$tmp_str .= 'title="<i>'.$file_title."</i>\n\n".$exif_str.'" ';
Wenn ich Deinen Code-Schnipsel richtig interpretiere, dann willst Du den Inhalt eines title-Attributs ändern, der dann als Tooltip erscheint, wenn man mit der Maus über dem Bild verharrt. Das wir allerdings nicht funktionieren, da man darin keine Formatierungen unterbringen kann. In der Regel noch nicht mal einen Zeilenumbruch. Wenn Du einen formatierten Tooltip haben willst, dann lässt sich das nur mit mit einem CSS-Layer und JavaScript lösen. Aber das würde hier zu weit führen.

Gruß
Thomas
 
Puh, so viele Informationen, das ist zuviel für mich :o

Ich bin eine Niete in Sachen php, anders ausgedrückt, ich komme zum erstenmal damit in Kontakt.

Was ihr mir da an Hilfe anbietet, vielen dank dafür übrigens, übersteigt dann doch meine "Kompetenz". Den Code bekomme ich nicht in meinen bestehen integriert.

Egal, die normalen EXIF's reichen auch.

Trotzdem nochmal vielen Dank für eure tatkräftige Unterstützung. :top::top::top:
 
sorry, ich muss nochmal auf das Umlaut Problem zurück kommen.

ich habe den Patch wie im Nifties Forum von triangle beschrieben in die auto_folders.php eingebaut ...

Ergebnis: ich bekomme jetzt im Menü die Umlaute angezeigt :top: ... aber der Inhalt des Ordners wird weiterhin als leer angezeigt, auch wenn darin keine Dateien mit Umlaut enthalten sind. Allerdings wird die Anzahl der enthaltenen Bilder richtig angezeigt (inklusive der Datein mit Umlauten).

Nehme ich die Umlaute aus dem Namen des Obersten Ordners bekomme ich alle Dateien aus dem Ordner angezeigt, ausser denen in deren Namen ein Umlaut enthalten ist.

Die Info von Citronengras mit der Ansi-Codierung habe ich zumindest bei der styles.txt überprüft, da das die einzige .txt Datei ist, die ich zur Zeit habe. Beim speichern mit Ultraedit war UTF-8 voreingestellt. Kann es damit etwas zu tun haben? Oder muss ich nach einer anderen Datei suchen?

Grüße
Alex
 
Stell mal einen Link zu der Gallery hier rein. Damit man sich davon ein Bild machen kann.

Hört sich irgendwie komisch an :o Ich denke das liegt eher an einem Problem in der auto_folder.php und nicht an der style.txt
 
Mein Problem hat sich quasi von alleine gelöst, nachdem ich ich die File-extention von PHP auf PHP5 umbenannt habe :confused:

Offensichtlich unterstüzt die PHP-Version von STARTO die bei der Erweiterung PHP rangezogen wird, nicht die ob_* Funktionen - obwohl, soweit ich weiss die schon seit PHP4 unterstützt werden :grumble:

Dafür habe ich jetzt ein neues Problem: :eek:

angeregt durch eure Diskussionen zum auslesen der EXIF-Informationen habe ich auch so eine Funktion bei mir eingebaut. Läuft super auf meinem LOKALEN WEB-Server :D ... nachdem ich meine Seiten zu Strato kopiert habe, musste ich feststellen, dass dort offensichtlich der exif-und mbstring- support nicht aktiv ist. phpinfo() gibt jedenfalls keine infos dazu raus.

Kann man die Funktionen irgendwie aktivieren (ausser über PHP.ini auf die ich bei Strato ja keinen Einfluss habe) ?

Vielleicht sollte ich auch mal den Provider wechseln, bei wem habt ihr denn gehostet? (könnt ja die Info per PM schicken :angel:)

Grüße
Alex
 
Ich lese bei den EXIF Daten jetzt noch zusätzlich das Kameramodell aus.
Vielen Dank nochmal an Citronengras :)

triangle
 
Zuletzt bearbeitet:
Jetzt habe ich noch Datum und Uhrzeit hinzugefügt. Das ist ja eine Umsortiererei der Strings mit "explode" in den arrays. :)

Wer kann mir denn verraten, wie ich die Reihenfolge der ausgelesenden EXIFs verändern kann? Kann mir Citronengras einen Tipp geben?

Code:
function printXML($arr){
// $arr = array_reverse($arr);
global $show_titles, $omit_file_chars, $omit_folder_chars, $show_links, $before_link, $after_link, $swf_loc, $exclude_files, $omit_image_chars, $include_exif;
    foreach($arr as $key => $val) {
        if(is_array($val)){
        $folder_title=substr($key, $omit_folder_chars);
        print "<folder name=\"$folder_title\">";
        ksort($val);
             printXML($val);
        print "</folder>";
        }else{
        $file = $val;
            if(strtolower(substr($file, -3)) == "jpg" || strtolower(substr($file, -4)) == "jpeg" ){
                $tmp_str = '<pic image="'.$file.'" ';
                    if($show_titles){
                        $file_title=substr($key, $omit_image_chars, strpos($key, ".")-$omit_image_chars);
                        $exif = exif_read_data($file,'EXIF',true);
                        if ($exif==false) {
                        $tmp_str .= 'title="'.$file_title.'" ';
                        } else {
                            $exif_str = 'EXIF: ';
                            foreach ($exif as $exifkey => $exifsection) {
                                foreach ($exifsection as $exifname => $exifval) {                                
                                    if(array_search($exifname, $include_exif)!==false)  {                                                                           
                                        if($exifname == "ExposureTime"){
                                            $ablage = explode("/", $exifval);
                                            if($ablage[0] >= $ablage[1]){
                                                $exif_str .= 'Zeit: '.$ablage[0].'s    ';
                                            }else{
                                            $exif_str .= 'Zeit: '.$exifval.'s    ';
                                            }
                                        }else if($exifname == "FNumber"){ 
                                                $ablage = explode("/", $exifval);
                                                $wert = $ablage[0]/$ablage[1];                                                                                                       
                                                $exif_str .= 'Blende: '.$wert.'    ';
                                        }else if($exifname == "ISOSpeedRatings"){
                                            $exif_str .= 'ISO: '.$exifval.'    ';
                                        }else if($exifname == "Model"){
                                            $exif_str .= ' '.$exifval.'   ';
                                        }else if($exifname == "FocalLength"){
                                            $ablage = explode("/", $exifval);
                                            $exif_str .= 'Brennweite: '.$ablage[0].'mm    ';
                                        }else if($exifname == "DateTime"){ 
                                                $ablage = explode(" ", $exifval);
                                                $date = $ablage[0];
                                                $time = $ablage[1];
                                                $datum = explode(":", $date);
                                                $uhrzeit = explode(":", $time);
                                                $exif_str .= $datum[2].'.'.$datum[1].'.'.$datum[0].'   '.$uhrzeit[0].':'.$uhrzeit[1].' Uhr   ';
                                        }}}}
                                        
                                        
                            $tmp_str .= 'title="'.$file_title.'   '.$exif_str.'" ';
                        }
                    }

triangle
 
Hi!
...Wer kann mir denn verraten, wie ich die Reihenfolge der ausgelesenden EXIFs verändern kann? Kann mir Citronengras einen Tipp geben?...
du musst noch eine HTML datei haben um die exif auf deiner detailseite anzeigen zu können.
das was du hier gepostet hast ist ja nur die funktion um die exif auslesen zu können.

mfg Andi
 
Welche Reihenfolge willst Du denn? Ich hab es nur über einen Umweg hinbekommen, aber es funktioniert immerhin :) anders wusste ich mir nicht zu helfen.:D
function printXML($arr){
// $arr = array_reverse($arr);
global $show_titles, $omit_file_chars, $omit_folder_chars, $show_links, $before_link, $after_link, $swf_loc, $exclude_files, $omit_image_chars,

$include_exif;
foreach($arr as $key => $val) {
if(is_array($val)){
$folder_title=substr($key, $omit_folder_chars);
print "<folder name=\"$folder_title\">";
ksort($val);
printXML($val);
print "</folder>";
}else{
$file = $val;
if(strtolower(substr($file, -3)) == "jpg" || strtolower(substr($file, -4)) == "jpeg" ){
$tmp_str = '<pic image="'.$file.'" ';
if($show_titles){
$file_title=substr($key, $omit_image_chars, strpos($key, ".")-$omit_image_chars);
$exif = exif_read_data($file,'EXIF',true);
if ($exif==false) {
$tmp_str .= 'title="'.$file_title.'" ';
} else {
$exif_str = 'EXIF: ';
foreach ($exif as $exifkey => $exifsection) {
foreach ($exifsection as $exifname => $exifval) {
if(array_search($exifname, $include_exif)!==false) {


if($exifname == "ExposureTime"){
$ablage = explode("/", $exifval);
if($ablage[0] >= $ablage[1]){
$finish[0] .= 'Zeit: '.$ablage[0].'s ';
}else{
$finish[0] .= 'Zeit: '.$exifval.'s ';
}
}else if($exifname == "FNumber"){
$ablage = explode("/", $exifval);
$wert = $ablage[0]/$ablage[1];


$finish[1] .= 'Blende: '.$wert.' ';
}else if($exifname == "ISOSpeedRatings"){
$finish[2] .= 'ISO: '.$exifval.' ';
}else if($exifname == "Model"){
$finish[3] .= ' '.$exifval.' ';
}else if($exifname == "FocalLength"){
$ablage = explode("/", $exifval);
$finish[4] .= 'Brennweite: '.$ablage[0].'mm ';
}else if($exifname == "DateTime"){
$ablage = explode(" ", $exifval);
$date = $ablage[0];
$time = $ablage[1];
$datum = explode(":", $date);
$uhrzeit = explode(":", $time);
$finish[5] .= $datum[2].'.'.$datum[1].'.'.$datum[0].' '.$uhrzeit[0].':'.$uhrzeit[1].' Uhr ';
}}}}


$tmp_str .= 'title="'.$file_title.' '.finish[0].' '.finish[1].' '.finish[2].' '.finish[3].' '.finish[4].' '.finish[5].'" ';
}
}
 
Zuletzt bearbeitet:
Moin,
angeregt durch diesen thread habe ich gestern auch die Media Gallery ausprobiert. Wirklich cool und sehr einfach. Danke für den Tipp.
Mal sehen was ich noch so probieren kann.
Zur Zeit habe ich noch die FreeVersion, giebt es ausser dem dezenten Link auf die Hersteller Homepage noch weitere unterschiede?

Wie kann ich das Problem mit den Umlauten im Menü/Ordnern lösen?
Den Eintrag in den FAQ habe ich nicht verstanden und es hat auch nicht funktioniert.

Danke

Ingo
 
Einfach einen Teil (der letzte Abschnitt) des Codes in der auto_folder.php ersetzen.

header("content-type:text/xml;charset=utf-8");
ob_start(); // Start capture of print output
print '<?xml version="1.0" encoding="iso-8859-1"?>';
print '<folder name="'.$main_title.'" ';
include($styles_file);
print '>';
printXML($ff);
print "</folder>";
$xmlstr = ob_get_contents(); // Capture output in string
ob_end_clean(); // Clean
$xmlstr = iconv("Windows-1252", "UTF-8", $xmlstr);
print $xmlstr; // Print UTF-8 encoded output
?>

Grüße
 
Hi triangle,

Wer kann mir denn verraten, wie ich die Reihenfolge der ausgelesenden EXIFs verändern kann? Kann mir Citronengras einen Tipp geben?

triangle

Da exiv_read_data() ein array zurückliefert, kannst du die einzelnen Array-Elemente über deren Namen direkt ansprechen ohne die "elseif-orgie". Deine Frage nach der Reihenfolge erklärt sich daraus automatisch, denn die ist ja im Prinzip beliebig.

Hier mein Beispiel-code aus meiner Seite - Die Seite ist allerdings noch im "Aufbau" :angel:

Code:
// EXIF Infos Laden
						
$exif = exif_read_data ($file, "EXIF");					
$expTime="Zeit: " . $exif['ExposureTime']."sec";
           
$x=explode ("/", $exif['FNumber']);
$exif_blende="Blende: f/".$x[0]/$x[1];
            
$x=explode("/", $exif['FocalLength']);
$exif_brennweite="Brennweite: ". round($x[0] / $x[1], 0)."mm";
            
$x=explode (":",$exif['DateTime']);
$exif_Datum="Aufnahmedatum: ".substr($x[2],0,2).".".$x[1].".".$x[0];
            
$exif_ISO="ISO: ".$exif['ISOSpeedRatings'];

$spacer="          ";
						
$tmp_str .= 'title="'.$exif_blende.$spacer.$expTime.$spacer.$exif_ISO.$spacer.$exif_brennweite.$spacer.$exif_Datum.'" ';
 
Hallo Fans von FlashGalerie,

hat von jemand euch eine Vorstellung welche Teile von HTML man in den Text Dateien verwenden darf? Im Beispiel ReadMe.txt sind ja einige Komponenten drinne, aber ich bin mit <div> und <table> kläglich gescheitert :grumble:

Die Doku schweigt sich leider hierzu auch aus ... jedenfalls habe ich mit meiner Methode des "selektiven Lesen" :ugly: nix dazu gefunden.
 
Ohne für Werbung etwas zu bekommen:
all-inkl.de hat auch einen super Support. Jede Frage bzw. Wunsch wurde mir sofort und vor allem Kompetent am Tel. erfüllt. Die Freischaltung war innerhalb von 90 min. erfolgt und die Domain war (für meinen Provider zumindest) innerhalb von 4 Stunden bereits erreichbar. Nicht der billigste aber in anbetracht des Supports empfehlenswert.
Ich würde all-inkl zu den Top 10 Anbietern in D zählen.

triangle
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten