mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 16:45 Benutzername: Passwort: Auto-Login

Thema: Kein Bilder-Upload wegen Exif-Daten? (Gelöst) vom 17.08.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Kein Bilder-Upload wegen Exif-Daten? (Gelöst)
Seite: 1, 2  Weiter
Autor Nachricht
obike
Threadersteller

Dabei seit: 09.08.2009
Ort: Hamburg
Alter: 40
Geschlecht: Männlich
Verfasst Mo 17.08.2009 17:31
Titel

Kein Bilder-Upload wegen Exif-Daten? (Gelöst)

Antworten mit Zitat Zum Seitenanfang

Moin Moin zusammen,

ich bin gerade dabei eine Bildergallerie zu erstellen und habe nun ein ganz seltsames Problem.
Und zwar werden nicht alle Bilder hochgeladen und ich finde nicht heraus woran es liegt.

Ich hab zwei verschiedene Bilder:
1. Bild1.jpeg = 1.91 MB
2. Bild2.jpeg = 631 KB.

Das grössere Bild lädt er hoch und trägt die relevanten Daten in die DB, das kleine nicht?! Au weia!

Ich habe schon herausgefunden, kann aber auch eine Zufall sein, dass er Bilder wo man erkennen kann das es mit einem Handy erstellt wurde nicht hochlädt, die anderen jedoch schon.

Hier einmal die verantwortlichen Zeilen:

Code:

<?php

$max_file_size = 4194304;

if(isset($_FILES['file'])) {

    $filename = $_FILES['file']['name'];
    $source = $_FILES['file']['tmp_name'];   
    $target = $image_directory . $filename;
    $description = mysql_real_escape_string($_POST['description']);
    $kategorie = $_POST['kategorie'];   
    $src = $picture_directory . $filename;
    $tn_src = $thumbs_directory  . $filename;
   
    if($_FILES['file']['size'] >= $max_file_size)
    $error['file_size'] = '<div class="message-error">Die Dateigr&ouml;sse des Bildes ist zu gross. Max: 4 MB.</div>';
   
    if(strlen($_POST['description']) < 4)
    $error['description'] = '<div class="message-error">Bitte gebe eine Beschreibung f&uuml;r das Bild an.</div>';
   
    if($filename == '' || !preg_match('/[.](jpg)|(gif)|(png)|(jpeg)$/', $filename))
    $error['no_file'] = '<div class="message-error">Es sind nur Bilder erlaubt</div>';
   
   
    if(!$error) {
        move_uploaded_file($source, $target); 
       
        $q = "INSERT INTO
             photo(description, src, tn_src, album_id)
          VALUES('$description', '$src', '$tn_src', '$kategorie')";
         
        $result = $mysqli->query($q) or die(mysqli_error($mysqli));
       
        if($result) {
            echo "<div class=\"message-confirmation\">Bild wurde erfolgreich hinzugef&uuml;gt.</div>";
        }
       
        createThumbnail($filename);
        createPicture($filename);
       
        unlink($target);
       
    }
}
?>



Kann mir jemand erklären woran das liegt? Mag er eventuell Bilder mit Exif-Daten nicht? Hmm...?!

Viele Grüsse
Dennis


Zuletzt bearbeitet von obike am Di 18.08.2009 22:42, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
leinich

Dabei seit: 23.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 17.08.2009 17:58
Titel

Antworten mit Zitat Zum Seitenanfang

es wär auch ganz gut zu wissen welcher Fehler denn genau kommt????
  View user's profile Private Nachricht senden
Anzeige
Anzeige
obike
Threadersteller

Dabei seit: 09.08.2009
Ort: Hamburg
Alter: 40
Geschlecht: Männlich
Verfasst Mo 17.08.2009 19:02
Titel

Antworten mit Zitat Zum Seitenanfang

Oh sorry das hab ich vergessen.

Es kommt kein Fehler.... Ich hab alles an was error_reporting betrifft. Mysql_error kommt auch nicht, nichts.
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 17.08.2009 19:26
Titel

Antworten mit Zitat Zum Seitenanfang

Vielleicht postest du am besten mal die vollständigen Scripts samt HTML Formularen *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
obike
Threadersteller

Dabei seit: 09.08.2009
Ort: Hamburg
Alter: 40
Geschlecht: Männlich
Verfasst Mo 17.08.2009 19:52
Titel

Antworten mit Zitat Zum Seitenanfang

Also das Script oben ist vollständig, ausser das die Funktionen für die Thumbnails ausgelagert sind,
aber soweit kommt er ja garnicht.

Hier der HTML Part:
Code:

<div id="stylized" class="myform">
    <form enctype="multipart/form-data" method="post" action="index.php">
       <label for="file">File
      <span class="small">Bitte w&auml;hle eine Datei aus.</span></label>
      <input type="file" name="file" />
       <label for="kategorie">Kategorie
      <span class="small">Bitte w&auml;hle eine Kategorie aus.</span></label>
       <?php selectCategorie(); ?>
       <label for="description">Beschreibung
      <span class="small">Beschreibung des Bildes</span></label>
       <textarea rows="6" cols="50" id="description" name="description"></textarea></p>
      
       <p><button type="submit" name="submit" />Upload starten</button></p>
    </form>
    </div>


und hier noch die Funktion für die Thumbnails:
Code:

function createThumbnail($filename) {
   
   require 'config.php';
   
   if(preg_match('/[.]jpg$/', $filename)) {
      $im = imagecreatefromjpeg($path_to_image_directory . $filename);
   } else if (preg_match('/[.]gif$/', $filename)) {
      $im = imagecreatefromgif($path_to_image_directory . $filename);
   } else if (preg_match('/[.]png$/', $filename)) {
      $im = imagecreatefrompng($path_to_image_directory . $filename);
   }
   
   $ox = imagesx($im);
   $oy = imagesy($im);
   
   $nx = $final_width_of_image;
   $ny = floor($oy * ($final_width_of_image / $ox));
   
   $nm = imagecreatetruecolor($nx, $ny);
   
   imagecopyresampled($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
   
   if(!file_exists($path_to_thumbs_directory)) {
      if(!mkdir($path_to_thumbs_directory)) {
         die("There was a problem.");
      }
   }

   imagejpeg($nm, $path_to_thumbs_directory . $filename);
   
   header("location: index.php");
}


Saluti[/code]
  View user's profile Private Nachricht senden
leinich

Dabei seit: 23.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 18.08.2009 20:33
Titel

Antworten mit Zitat Zum Seitenanfang

nimm mal das raus:
Zitat:

header("location: index.php");



und wenns das nicht ist, dann füg doch mal an ein paar kontrollpunkten ein echo ein, damit du weisst an welcher stelle das Skript hängen bleibt!
  View user's profile Private Nachricht senden
obike
Threadersteller

Dabei seit: 09.08.2009
Ort: Hamburg
Alter: 40
Geschlecht: Männlich
Verfasst Di 18.08.2009 21:15
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab den Fehler gefunden!! Grins
Die Handys haben den Bildern die Dateiendung *.JPG gegeben anstatt von *.jpg, nun wusste ich nicht,
das der reguläre Ausdruck case sensitiv ist * Ich geb auf... *.

Ich hab den Code um folgendes erweitert:
Code:

//in der Index
if($filename == '' || !preg_match('/[.](jpg)|(gif)|(png)|(jpeg)|(JPEG)|(PNG)|(GIF)|(JPG)$/', $filename))
    $error['no_file'] = '<div class="message-error">Es sind nur Bilder erlaubt</div>';

// in der Funktion
if(preg_match('/[.]jpg$/', $filename)) {
      $im = imagecreatefromjpeg($path_to_image_directory . $filename);
   } else if (preg_match('/[.]gif$/', $filename)) {
      $im = imagecreatefromgif($path_to_image_directory . $filename);
   } else if (preg_match('/[.]jpeg$/', $filename)) {
      $im = imagecreatefromjpeg($path_to_image_directory . $filename);
   } else if (preg_match('/[.]png$/', $filename)) {
      $im = imagecreatefrompng($path_to_image_directory . $filename);
   } else if (preg_match('/[.]GIF$/', $filename)) {
      $im = imagecreatefromgif($path_to_image_directory . $filename);
   } else if (preg_match('/[.]JPEG$/', $filename)) {
      $im = imagecreatefromjpeg($path_to_image_directory . $filename);
   } else if (preg_match('/[.]PNG$/', $filename)) {
      $im = imagecreatefrompng($path_to_image_directory . $filename);
   } else if (preg_match('/[.]JPG$/', $filename)) {
      $im = imagecreatefromjpeg($path_to_image_directory . $filename);
   }


Und TADAAA es hat geklappt.

Was mich jetzt nur wurmt ist, warum er mir keine Fehlermeldung angezeigt hat Au weia!

Hat noch jemand eine Idee?

MfG
Dennis
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 18.08.2009 21:33
Titel

Antworten mit Zitat Zum Seitenanfang

machs halb so lang mit strtolower
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen EXIF-Daten aus Datenbank in ein JPG
EXIF-Daten automatisiert löschen
CSV upload zeigt mit im Ergebniss nur 1 Komma an statt Daten
Bilder Upload
Bilder Upload per PHP Hilfe!!
Bilder Über SQl Upload
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.