IPTC Daten aus Bild auslesen

cym

cym

Aktives Mitglied
Thread Starter
Dabei seit
03.05.2004
Beiträge
1.363
Reaktionspunkte
9
Hallo zusammen

Ich habe aus einem Forum die PHP-Zeilen kopiert und dies getestet. Im gleichen Verzeichnis liegt die Datei "test.jpg".

Nun wird bei mir nichts angezeigt. Die Seite bleibt einfach weiss. Mich wundert es, dass das Script in Ordnung zu scheinen mag, da die Antworten dies im obigen Forum behaupteten, nur eben bei mir nicht. Kann mir jemand weiterhelfen?

Guten Rutsch, cym

PHP Version: 5.2.3

Script: (test.php)
PHP:
<?php

$bild = "test.jpg";
holeIPTCdaten($bild, true);

function holeIPTCdaten($bild, $echoAusgabe) {   
        $size = getimagesize ($bild, &$info);  
            if (!empty($info["APP13"])) {  
                $iptc = iptcparse($info["APP13"]);
               
                if(!empty($iptc["2#000"])) {$iptc_RecordVersion = $iptc["2#000"][0]; } else {$iptc_RecordVersion = "k.A.";};
                if(!empty($iptc["2#005"])) {$iptc_Objektname = $iptc["2#005"][0]; } else {$iptc_Objektname = "k.A.";};
                if(!empty($iptc["2#007"])) {$iptc_Bearbeitungssattus = $iptc["2#007"][0]; } else {$iptc_Bearbeitungssattus = "k.A.";};
                if(!empty($iptc["2#010"])) {$iptc_Dringlichkeit = $iptc["2#010"][0]; } else {$iptc_Dringlichkeit = "k.A.";};        
                if(!empty($iptc["2#015"])) {$iptc_Kategorie = $iptc["2#015"][0]; } else {$iptc_Kategorie = "k.A.";};
                if(!empty($iptc["2#020"])) {$iptc_Zusatzkategorien = implode(", ",$iptc["2#020"]); } else {$iptc_Zusatzkategorien = "k.A.";};// Hier Aufpassen
                if(!empty($iptc["2#022"])) {$iptc_JobID = $iptc["2#022"][0]; } else {$iptc_JobID = "k.A.";};        
                if(!empty($iptc["2#025"])) {$iptc_Stichworte = implode(", ",$iptc["2#025"]); } else {$iptc_Stichworte = "k.A.";}; // Hier aufpassen        
                if(!empty($iptc["2#027"])) {$iptc_Kontaktstelle = implode(" ",$iptc["2#027"]); } else {$iptc_Kontaktstelle = "k.A.";};    // Hier aufpassen        
                if(!empty($iptc["2#055"])) {$iptc_ErstelltAmTag = $iptc["2#055"][0]; } else {$iptc_ErstelltAmTag = "k.A.";};        
                if(!empty($iptc["2#060"])) {$iptc_ErstelltAmUhrzeit = $iptc["2#060"][0]; } else {$iptc_ErstelltAmUhrzeit = "k.A.";};        
                if(!empty($iptc["2#065"])) {$iptc_Programm = $iptc["2#065"][0]; } else {$iptc_Programm = "k.A.";};        
                if(!empty($iptc["2#070"])) {$iptc_Programmversion = $iptc["2#070"][0]; } else {$iptc_Programmversion = "k.A.";};        
                if(!empty($iptc["2#075"])) {$iptc_Objektzyklus = $iptc["2#075"][0]; } else {$iptc_Objektzyklus = "k.A.";};        
                if(!empty($iptc["2#080"])) {$iptc_NamedesAutors = $iptc["2#080"][0]; } else {$iptc_NamedesAutors = "k.A.";};        
                if(!empty($iptc["2#085"])) {$iptc_TiteldesAutors = $iptc["2#085"][0]; } else {$iptc_TiteldesAutors = "k.A.";};        
                if(!empty($iptc["2#090"])) {$iptc_Stadt = $iptc["2#090"][0]; } else {$iptc_Stadt = "k.A.";};        
                if(!empty($iptc["2#092"])) {$iptc_Region = $iptc["2#092"][0]; } else {$iptc_Region = "k.A.";};        
                if(!empty($iptc["2#095"])) {$iptc_Bundesland = $iptc["2#095"][0]; } else {$iptc_Bundesland = "k.A.";};        
                if(!empty($iptc["2#100"])) {$iptc_Laendercode = $iptc["2#100"][0]; } else {$iptc_Laendercode = "k.A.";};        
                if(!empty($iptc["2#101"])) {$iptc_Laendername = $iptc["2#101"][0]; } else {$iptc_Laendername = "k.A.";};        
                if(!empty($iptc["2#103"])) {$iptc_Auftraggeber = $iptc["2#103"][0]; } else {$iptc_Auftraggeber = "k.A.";};        
                if(!empty($iptc["2#105"])) {$iptc_Ueberschrift = $iptc["2#105"][0]; } else {$iptc_Ueberschrift = "k.A.";};        
                if(!empty($iptc["2#110"])) {$iptc_Bildrechte = $iptc["2#110"][0]; } else {$iptc_Bildrechte = "k.A.";};        
                if(!empty($iptc["2#115"])) {$iptc_Quelle = $iptc["2#115"][0]; } else {$iptc_Quelle = "k.A.";};        
                if(!empty($iptc["2#116"])) {$iptc_Copyright = $iptc["2#116"][0]; } else {$iptc_Copyright = "k.A.";};        
                if(!empty($iptc["2#118"])) {$iptc_Kontakt = implode(" ",$iptc["2#118"]); } else {$iptc_Kontakt = "k.A.";}; // Hier aufpassen        
                if(!empty($iptc["2#120"])) {$iptc_Objektbeschreibung = $iptc["2#120"][0]; } else {$iptc_Objektbeschreibung = "k.A.";};
                if(!empty($iptc["2#122"])) {$iptc_Autor = $iptc["2#122"][0]; } else {$iptc_Autor = "k.A.";};                
           } 
//Der Mac macht manchmal komische Umlaute, diese werden dann ersetzt
$iptc_ersetzen = array('§' => 'ß', '«' => '´', '…' => 'Ö','†' => 'Ü','€' => 'Ä','š' => 'ö','Ÿ' => 'ü', 'Š' => 'ä','Ð' => '-' , '' => ' ' );

$iptc_RecordVersion = strtr($iptc_RecordVersion, $iptc_ersetzen);
$iptc_Objektname = strtr($iptc_Objektname, $iptc_ersetzen);
$iptc_Stichworte = strtr($iptc_Stichworte, $iptc_ersetzen);
$iptc_Ueberschrift = strtr($iptc_Ueberschrift, $iptc_ersetzen);
$iptc_Objektbeschreibung = strtr($iptc_Objektbeschreibung, $iptc_ersetzen);
//Anwenden z.B.
//$DateiName = strtr( strtolower( $_FILES['bilddatei']['name'] ), $ersetzen );
if($echoAusgabe){
            echo "<table border='0'>
            <tr><td>2#000</td><td><strong>RecordVersion</strong></td><td>$iptc_RecordVersion</td></tr>
            <tr><td>2#005</td><td><strong>Objektname</strong></td><td>$iptc_Objektname</td></tr>
            <tr><td>2#007</td><td><strong>Bearbeitungssattus</strong></td><td>$iptc_Bearbeitungssattus</td></tr>
            <tr><td>2#010</td><td><strong>Dringlichkeit</strong></td><td>$iptc_Dringlichkeit</td></tr>
            <tr><td>2#015</td><td><strong>Kategorie</strong></td><td>$iptc_Kategorie</td></tr>
            <tr><td>2#020</td><td><strong>Zusatzkategorien</strong></td><td>$iptc_Zusatzkategorien</td></tr>
            <tr><td>2#022</td><td><strong>JobID</strong></td><td>$iptc_JobID</td></tr>
            <tr><td>2#025</td><td><strong>Stichworte</strong></td><td>$iptc_Stichworte</td></tr>
            <tr><td>2#027</td><td><strong>Kontaktstelle</strong></td><td>$iptc_Kontaktstelle</td></tr>
            <tr><td>2#055</td><td><strong>Erstellt am  (Tag)</strong></td><td>$iptc_ErstelltAmTag</td></tr>
            <tr><td>2#065</td><td><strong>Programm</strong></td><td>$iptc_Programm</td></tr> 
            <tr><td>2#060</td><td><strong>Erstellt am  (Zeit)</strong></td><td>$iptc_ErstelltAmUhrzeit</td></tr>
            <tr><td>2#065</td><td><strong>Programm</strong></td><td>$iptc_Programm</td></tr>
            <tr><td>2#075</td><td><strong>Objektzyklus</strong></td><td>$iptc_Objektzyklus</td></tr>
            <tr><td>2#080</td><td><strong>Name des Autors</strong></td><td>$iptc_NamedesAutors</td></tr>
            <tr><td>2#085</td><td><strong>Titel des Autors</strong></td><td>$iptc_TiteldesAutors</td></tr>
            <tr><td>2#090</td><td><strong>Stadt</strong></td><td>$iptc_Stadt</td></tr>
            <tr><td>2#092</td><td><strong>Region</strong></td><td>$iptc_Region</td></tr>
            <tr><td>2#095</td><td><strong>Bundesland</strong></td><td>$iptc_Bundesland</td></tr>
            <tr><td>2#100</td><td><strong>Laendercode</strong></td><td>$iptc_Laendercode</td></tr>
            <tr><td>2#101</td><td><strong>Laendername</strong></td><td>$iptc_Laendername</td></tr>
            <tr><td>2#103</td><td><strong>Auftraggeber</strong></td><td>$iptc_Auftraggeber</td></tr>
            <tr><td>2#105</td><td><strong>Ueberschrift</strong></td><td>$iptc_Ueberschrift</td></tr>
            <tr><td>2#110</td><td><strong>Bildrechte</strong></td><td>$iptc_Bildrechte</td></tr>
            <tr><td>2#115</td><td><strong>Quelle</strong></td><td>$iptc_Quelle</td></tr>
            <tr><td>2#116</td><td><strong>Copyright</strong></td><td>$iptc_Copyright</td></tr>
            <tr><td>2#118</td><td><strong>Kontakt</strong></td><td>$iptc_Kontakt</td></tr>
            <tr><td>2#120</td><td><strong>Objektbeschreibung</strong></td><td>$iptc_Objektbeschreibung</td></tr>
            <tr><td>2#122</td><td><strong>Autor</strong></td><td>$iptc_Autor</td></tr>
            </table>";
}// ENDE

if($echoAusgabe){
        
}

?>
 
Es kann ein Dutzend Gründe geben, aus denen das Script fehlschlägt. Was sagt das Apache Log?
 
Zurück
Oben Unten