Antworten auf deine Fragen:
Neues Thema erstellen

Undefinierten Index Fehler ausblenden oder umegehen?

Tach zusammen,

ich hab schon überall nach geschaut und nix wirkliches zu meinem Probelm was gefunden -.- und hoffe doch sehr, dass ihr mir helfen könnt.

Ich bin soweit, dass ich die von mir gewünschten EXIF Daten herrauslesen kann und so, aber nicht jedes Bild besitzt auch den Inhalt der Exif Daten, wie zum Beispiel "ISOSpeedRatings" oder andere Felder können leer sein.

Wenn ich aber Bilder habe, wo sowas halt vorkommt erscheint direkt die Fehlermeldung Undefinierter Index ....

Wie kann ich sowas umegehen oder abfragen erstellen, sodass diese Fehlermeldung nicht mehr kommt?
 

netbandit

Aktives Mitglied

AW: Undefinierten Index Fehler ausblenden oder umegehen?

Einfach die Variablen vor dem Auslesen definieren

PHP:
$exif['ISOSpeedRatings']='';

// Und dann Exifdaten auslesen
 
AW: Undefinierten Index Fehler ausblenden oder umegehen?

Also alle EXIF Variablen die ich mir ausgesucht habe vorher deklarieren bzw. mit dem wert "" zuweisen, wenn ich das jetzt richtig verstanden hab, oder?
 

netbandit

Aktives Mitglied

AW: Undefinierten Index Fehler ausblenden oder umegehen?

Jup, oder ganz umständlich während des Auslesens prüfen ob vorhanden ist oder gaaaanz unschön error_reporting auf 0 setzen.
 
AW: Undefinierten Index Fehler ausblenden oder umegehen?

kann man eigentlich eine abfrage machen für alle oder eine deklaration/zuweisung für alle machen ?

ich hab an sowas gedacht:

$exif['FILE']['']=''; oder so was in der art, geht das?
 
AW: Undefinierten Index Fehler ausblenden oder umegehen?

Das mit den vordeklarieren/zuweisen hat nicht so ganz geklappt, da ist mir noch der befehl isset() eingefallen und hab es damit probiert, hat gut geklappt, hab aber jetzt den fehler

Warning: exif_read_data(error_exif.php) []: File not supported in C:\xampp\htdocs\fotoversuch\php\file_open_db.php on line 43

und weiß nicht wie ich den weg bekommen kann

das ist mein Code momentan:
Code:
<form action="php/db/log.php" method=\"POST\">
<?php
// PHP-Version ermitteln
$verstr=explode(".",phpversion());
$vernum=$verstr[0]*100+$verstr[1]*10+$verstr[2]*1;

$bilder_verzeichnis="http://www.psd-tutorials.de/modules/Forum/images/fotos";
$verz=opendir($bilder_verzeichnis);

$PIC_NAME=array();
$FileDateTime=array();
$dateigroesse=array();
$dateigroesse=array();
$breite=array();
$a=0;
/*
$exifdata["FILE"]["FileName"]="";
$exifdata["FILE"]["FileSize"]="";
$exifdata["FILE"]["FileDateTime"]="";
$exifdata["EXIF"]["ExifImageWidth"]="";
$exifdata["EXIF"]["ExifImageLength"]="";
$exifdata["EXIF"]["Flash"]="";
$exifdata["EXIF"]["ISOSpeedRatings"]='';
$exifdata["EXIF"]["FNumber"]='';
$exifdata["EXIF"]["ExposureTime"]='';
$exifdata["COMPUTED"]["IsColor"]='';
$exifdata["COMPUTED"]["ApertureFNumber"]='';
$exifdata["IFD0"]["Orientation"]='';
$exifdata["IFD0"]["Model"]='';
$exifdata["IFD0"]["Make"]='';
$exifdata["IFD0"]["ResolutionUnit"]='';
*/
while($datei=readdir($verz))
{
    date_default_timezone_set('UTC');
    
if($datei != "." && $datei != "..")
    {
    $bild=$bilder_verzeichnis."/".$datei;
        if($vernum >= 420)
        {    

               [B] $exifdata=exif_read_data($bild,"",true,false);[/B] //hier ist der neue fehler
                
                    if(isset($exifdata["FILE"]["FileName"]))
                    {
                        $PIC_NAME[$a]=$exifdata["FILE"]["FileName"];
                        echo "<input type='text' name='".$PIC_NAME[$a]."' value='".$PIC_NAME[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                        
                    if(isset($exifdata["FILE"]["FileDateTime"]))
                    {
                        $FileDateTime[$a]=$exifdata["FILE"]["FileDateTime"];
                        echo "<input type='text' name='".$FileDateTime[$a]."' value='".$FileDateTime[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                        
                    if(isset($exifdata["FILE"]["FileSize"]))
                    {
                        $dateigroesse[$a]=$exifdata["FILE"]["FileSize"];
                        echo "<input type='text' name='".$dateigroesse[$a]."' value='".$dateigroesse[$a]."'/>";
                    }    else     echo "<input type='text' name='' value=''/>";
                        
                    if(isset($exifdata["FILE"]["FileDateTime"]))
                    {
                        $dateidatumzeit[$a]=date("d.m.Y – H:i:s", $exifdata["FILE"]["FileDateTime"]);
                        echo "<input type='text' name='".$dateidatumzeit[$a]."' value='".$dateidatumzeit[$a]."'/><br>";
                    }    else echo "<input type='text' name='' value=''/><br>";
                    
                    if(isset($exifdata["EXIF"]["ExifImageWidth"]))
                    {
                        $breite[$a]=$exifdata["EXIF"]["ExifImageWidth"];
                        echo "<input type='text' name='".$breite[$a]."' value='".$breite[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["EXIF"]["ExifImageLength"]))
                    {
                        $hoehe[$a]=$exifdata["EXIF"]["ExifImageLength"];
                        echo "<input type='text' name='".$hoehe[$a]."' value='".$hoehe[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["EXIF"]["Flash"]))
                    {
                        $BLITZ[$a] =$exifdata["EXIF"]["Flash"];
                        echo "<input type='text' name='".$BLITZ[$a]."' value='".$BLITZ[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["EXIF"]["ISOSpeedRatings"]))
                    {
                        $iso[$a]=$exifdata["EXIF"]["ISOSpeedRatings"];
                        echo "<input type='text' name='".$iso[$a]."' value='".$iso[$a]."'/><br>";
                    }    else echo "<input type='text' name='' value=''/><br>";
                    
                    if(isset($exifdata["EXIF"]["FNumber"]))
                    {
                        $fnumber[$a]=$exifdata["EXIF"]["FNumber"];
                        echo "<input type='text' name='".$fnumber[$a]."' value='".$fnumber[$a]."'/>";
                    }     else    echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["EXIF"]["ExposureTime"]))
                    {
                        $ex_tim[$a]=$exifdata["EXIF"]["ExposureTime"];
                        echo "<input type='text' name='".$ex_tim[$a]."' value='".$ex_tim[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["COMPUTED"]["IsColor"]))
                    {
                        $farbe[$a]=$exifdata["COMPUTED"]["IsColor"]; 
                        echo "<input type='text' name='".$farbe[$a]."' value='".$farbe[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["COMPUTED"]["ApertureFNumber"]))
                    {
                        $AFNummer[$a]=$exifdata["COMPUTED"]["ApertureFNumber"]; 
                        echo "<input type='text' name='".$AFNummer[$a]."' value='".$AFNummer[$a]."'/><br>";
                    }    else echo "<input type='text' name='' value=''/><br>";
                    
                    if(isset($exifdata["IFD0"]["Orientation"]))
                    {
                        $ORIENTATION[$a]=$exifdata["IFD0"]["Orientation"];
                        echo "<input type='text' name='".$ORIENTATION[$a]."' value='".$ORIENTATION[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["IFD0"]["Model"]))
                    {
                        $CAM_MODEL[$a]=$exifdata["IFD0"]["Model"];
                        echo "<input type='text' name='".$CAM_MODEL[$a]."' value='".$CAM_MODEL[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    if(isset($exifdata["IFD0"]["Make"]))
                    {
                        $CAM_MAKE[$a]=$exifdata["IFD0"]["Make"];
                        echo "<input type='text' name='".$CAM_MAKE[$a]."' value='".$CAM_MAKE[$a]."'/>";
                    }    else echo "<input type='text' name='' value=''/>";
                    
                    //if($exifdata["IFD0"]["Copyright"])$COPYRIGHT[$a]=$exifdata["IFD0"]["Copyright"];
                    //if($exifdata["IFD0"]["ImageType"])$IMAGETYPE[$a]=$exifdata["IFD0"]["ImageType"];
                    
                    if(isset($exifdata["IFD0"]["ResolutionUnit"]))
                    {
                        $RESOLUTIONUNIT[$a]=$exifdata["IFD0"]["ResolutionUnit"];
                        echo "<input type='text' name='".$RESOLUTIONUNIT[$a]."' value='".$RESOLUTIONUNIT[$a]."'/><br>";
                    }
                        
                    //if($exifdata["IFD0"]["XResolution"])$XRESOLUTION=$exifdata["IFD0"]["xResolution"];
                    //if($exifdata["IFD0"]["yResolution"])$YRESOLUTION=$exifdata["IFD0"]["YResolution"];
                    
                    //if($exifdata["IFD1"]["Compression"])$COMPRESSION=$exifdata["IFD0"]["Compression"];
                    
                    
                    //if($exifdata["SubIFD"]["FNumber"])$APERTURE=$exifdata["SubIFD"]["FNumber"];
                    //if($exifdata["SubIFD"]["ColorSpace"])$COLORSPACE=$exifdata["SubIFD"]["ColorSpace"];
                    //if($exifdata["SubIFD"]["ExposureBiasValue"])$EXPOSUREBAISVALUE=$exifdata["SubIFD"]["ExposureBiasValue"];
                    //if($exifdata["SubIFD"]["ExposureProgram"])$EXPOSUREPROGRAM=$exifdata["SubIFD"]["ExposureProgram"];
                    //if($exifdata["SubIFD"]["FocalLength"])$FOCALLENGTH=$exifdata["SubIFD"]["FocalLength"];
                    //if($exifdata["SubIFD"]["MeteringMode"])$METERINGMODE=$exifdata["SubIFD"]["MeteringMode"];
                    //if($exifdata["SubIFD"]["DateTimeOriginal"])$DATETIMEORIGINAL=$exifdata["SubIFD"]["DateTimeOriginal"];
                    //if($exifdata["SubIFD"]["BrightnessValue"])$BRIGHTNESSVALUE=$exifdata["SubIFD"]["BrightnessValue"];
                    //if($exifdata["SubIFD"]["Contrast"])$CONTRAST=$exifdata["SubIFD"]["Contrast"];
                    //if($exifdata["SubIFD"]["ExposureMode"])$EXPOSUREMODE=$exifdata["SubIFD"]["ExposureMode"];
                    //if($exifdata["SubIFD"][""])$FLASHENGERY=$exifdata["SubIFD"]["FlashEnergy"];
                    //if($exifdata["SubIFD"]["Saturation"])$SATURATION=$exifdata["SubIFD"]["Saturation"];
                    //if($exifdata["SubIFD"]["SceneType"])$SCENETYPE=$exifdata["SubIFD"]["SceneType"];
                    //if($exifdata["SubIFD"]["Sharpness"])$SHARPNESS=$exifdata["SubIFD"]["Sharpness"];
                    //if($exifdata["SubIFD"]["SubjectDistance"])$SUBJECTDISTANCE=$exifdata["SubIFD"]["SubjectDistance"];
                    
                    //if($exifdata["IPTC"]["Caption"])$CAPTION=$exifdata["IPTC"]["Caption"];
                    //if($exifdata["IPTC"]["Keywords"])$KEYWORDS=$exifdata["IPTC"]["Keywords"];
            $a++;
            echo "<br>";
            echo "<br>";
        }
            
    }
        
}
?>
<input type="submit" name="senden" value="senden" />
    </form>
 
Zuletzt bearbeitet:
AW: Undefinierten Index Fehler ausblenden oder umegehen?

Der Fehler ist weg XD
Hatte einen Falschen Datentypen im Ordner drin xD
Danke für euren tipps, wenn was ist, ich meld mich wieder ^^ Danke euch allen.
 

sokie

Mod | Web

AW: Undefinierten Index Fehler ausblenden oder umegehen?

hast du schon versucht die 'Warnings' per @ vor dem jeweiligen Ausdruck zu unterdrücken?
edit:naja,hat sich auch erledigt:)
 
Zuletzt bearbeitet:
AW: Undefinierten Index Fehler ausblenden oder umegehen?

Hat geklappt mit dem @, danke ^^

Ich hab noch eine Frage aber die passt nicht zur Überschrift, ich hoffe mal das stöhrt keinen das ich die Frage hier stelle und nicht in einem neuem Topic oder so.

Ich hab jetzt eine schöne kleine EXIF Ausgabe und hab auch viele Informationen ausgelesen, die ich haben wollte und so aber wie kann ich die Ausgabe nun Säubern.
Da bei manchen Variablen sowas raus kommt

IFD0.Title: F�u�s�s�b�a�l�l���
EXIF.MakerNote: Nikon���MM�*
......

Naja, das sieht unschön, kann ich Sie etwas klarer ausgeben?
Wenn das was bringt, ich benützte Zwei Browser, den IE und Firefox.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben