Einzelnen Beitrag anzeigen
  #1  
Alt 28.01.2009, 21:05:43
KeinenPlan KeinenPlan ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 45
Beiträge: 57
Problem mit BilderUpload!

Hier das Formular-Script:
PHP-Code:
<html>
<head>
<title>Administrationsebene</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h2><u>Administration des Fotomaterials!!</u></h2>
<?php

$selectquery 
'SELECT foto_id, preview_file, bigview_file 
                FROM Fotos
                WHERE foto_id = "'
.$_GET["id"].'"';
$selecterg mysql_db_query($db_name$selectquery$verbindung);

echo 
'<b>ACHTUNG!</b><br>';
echo 
'<form enctype="multipart/form-data" action="fotos_aendern_action.php5" method="post">';

if ((list (
$foto_id$preview_file$bigview_file) = mysql_fetch_row($selecterg)) OR ($_GET["id"]=="NEU"))
{
  if (
$_GET["id"] == "NEU"
  {
    
$foto_id 'wird automatisch vergeben';
    echo 
'Vollbild und Vorschaubild m&uuml;ssen immer beide gleichzeitig hochgeladen werden; ansonsten erfolgt ein Abbruch!';
    echo 
'<table border="1">';
    echo 
'<input name="modus" type="hidden" value="NEW">';
    echo 
'<input type="hidden" name="MAX_FILE_SIZE" value="1000000">';
    echo 
'<tr><td>Foto-ID:</td><td>'.$foto_id.'</td></tr>';
    echo 
'<tr><td>Vollbild (800 Pixel breit):</td>';
    echo 
'<td><input name="userfile1" type="file" size="50"></td></tr>';
    echo 
'<tr><td>Vorschaubild (150 Pixel breit):</td>';
    echo 
'<td><input name="userfile2" type="file" size="50"></td></tr>';
  }
  elseif (
eregi("[0-9]"$_GET["id"]))
  {
    echo 
'<table border="1">';
    echo 
'<input name="modus" type="hidden" value="EDIT">';
    echo 
'<input name="in_id" type="hidden" value="'.$foto_id.'">';
    echo 
'<input name="in_bilder_image" type="hidden" value="'.$bigview_file.'">';
    echo 
'<input name="in_bilder_thumbnail" type="hidden" value="'.$preview_file.'">';
    echo 
'<tr><td>Foto-ID</td><td>'.$foto_id.'</td></tr>';
    echo 
'<tr><td>Bild</td><td align="center"><img src="../fotos/preview/'.$preview_file.'"></td></tr>';
  }

  if (
$_GET["id"] != "NEU" && eregi("[0-9]"$_GET["id"]))
  {
   echo 
'<tr><td colspan="2">Zum L&ouml;schen des Fotos bitte Checkbox&nbsp;<input type="checkbox" name="deletecheck" value="true">&nbsp;aktivieren!</td></tr>';
  }

  echo 
'</table>';
  echo 
'<input type="submit" value="Angaben speichern">';        
  echo 
'</form>';
}
else { echo 
'<p>Fehler in der Verarbeitung!</p>'; }
?>
<p><a href="../backend/index.php5?cat=2">Zur&uuml;ck zum Foto-Men&uuml;</a></p>
</body>
</html>
Hier das Ausführungs-Script:
PHP-Code:
<html>
<head>
<title>Administrationsebene</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h2><u>Administration des Fotomaterials!!</u></h2>
<?php


if ($_POST["modus"] == "NEW") {

   
// Ermitteln wieviel Bilder/Beiträge schon hochgeladen wurden
   
$selectquery 'SELECT MAX(foto_id) FROM Fotos';
   
$selecterg mysql_db_query($db_name$selectquery$verbindung);
   list(
$maxid) = mysql_fetch_row($selecterg);
   
   if (empty(
$userfile1) AND empty($userfile2))
   {
    echo 
'Der Upload wurde nicht gestartet, weil vergessen wurde entsprechende Bilder auszuw&auml;hlen!';
    exit;
   }
   elseif (empty(
$userfile1) AND !empty($userfile2))
   {
    echo 
'Der Upload wurde nicht gestartet, weil vergessen wurde ein Vollbild auszuw&auml;hlen!';
    exit;
   }      
   elseif (!empty(
$userfile1) AND empty($userfile2))
   {
    echo 
'Der Upload wurde nicht gestartet, weil vergessen wurde ein Vorschaubild auszuw&auml;hlen!';
    exit;
   }  
   else 
   { 
    if (
is_uploaded_file($_FILES['userfile1']['size']) > 500000) {
        echo 
'Das Vollbild ist zu gro&szlig; (es sind maximal 500 kb erlaubt).';
        exit;
        }
    
    if (
is_uploaded_file($_FILES['userfile2']['size']) > 100000) {
        echo 
'Das Vorschaubild ist zu gro&szlig; (es sind maximal 100 kb erlaubt).';
        exit;
        }    
    
    
$bildinfos1 GetImageSize($_FILES['userfile1']['tmp_name']);
    
$bildinfos2 GetImageSize($_FILES['userfile2']['tmp_name']);
    
    if (
$bildinfos1[0] > 800) {
        echo 
'Das Vollbild ist breiter als erlaubt (maximal 800 Pixel)';
        exit;
        }
        
    if (
$bildinfos2[0] > 150) {
        echo 
'Das Vorschaubild ist breiter als erlaubt (maximal 150 Pixel)';
        exit;
        }
    
    if (
$bildinfos1[2] != 2) {
        echo 
'Bei dem Vollbild handelt es sich nicht um ein JPG!';
        exit;
        }
    
    if (
$bildinfos2[2] != 2) {
        echo 
'Bei dem Vorschaubild handelt es sich nicht um ein JPG!';
        exit;
        }
    
    
$maxid++;
    
$bild_datei1 $maxid.'.jpg'$bild_datei2 'preview_'.$maxid.'.jpg';    
    
$bild_url_intern1 $_SERVER['DOCUMENT_ROOT'].'/fotos/fullview/'.$bild_datei1;
    
$bild_url_intern2 $_SERVER['DOCUMENT_ROOT'].'/fotos/preview/'.$bild_datei2;    
    
    
copy($_FILES['userfile1']['tmp_name'], $bild_url_intern1);
    
copy($_FILES['userfile2']['tmp_name'], $bild_url_intern2);
    
    
$insertquery 'INSERT INTO Fotos(foto_id, preview_file, bigview_file)
                    VALUES ("'
.$_POST["maxid"].'", "'.$bild_datei2.'", "'.$bild_datei1.'")';
    
$inserterg mysql_db_query($db_name$insertquery$verbindung);
    
    echo 
'Das Vollbild wurde als <b>'.$bild_datei1.'</b> und das Vorschaubild als <b>'.$bild_datei2.'</b> auf den Server &uuml;bertragen und gespeichert!<br>';
    echo 
'Beide Ansichten wurden unter der <b>Foto-ID: '.$maxid.'</b> abgelegt.';
   }
}    
elseif (
$_POST["modus"] == "EDIT")
{
 if (
$_POST["deletecheck"] != "true")  
 {
  
$updatequery 'UPDATE Fotos
                 SET preview_file = "'
.$_POST["in_bilder_thumbnail"].'", fullview_file = "'.$_POST["in_bilder_image"].'" 
                 WHERE foto_id="'
.$_POST["in_id"].'"';
  
$updateerg mysql_db_query($db_name$updatequery$verbindung);

  echo 
'Fotomaterial <b>ID: '.$_POST["in_id"].'</b> wurde erfolgreich ge&auml;ndert und gespeichert.';
 }
 
 elseif (
$_POST["deletecheck"] == "true"
 {
  
$vollbildpfad'../fotos/fullview/'.$_POST["in_bilder_image"];
  
$previewbildpfad '../fotos/preview/'.$_POST["in_bilder_thumbnail"];
  
$vollbild $_POST["in_bilder_image"];
  
$previewbild $_POST["in_bilder_thumbnail"];
  
  
// Löschen des Vollbildes versuchen
  
$result1 = @unlink($vollbildpfad);

  
// Löschen des Previewbildes versuchen
  
$result2 = @unlink($previewbildpfad);

  if ((
$result1 == false) || ($result2 == false))
  {
   echo 
'Entfernen von Foto-ID:&nbsp;'.$_POST["in_id"].' konnte nicht ausgef&uuml;hrt werden!<br><br>';
   echo 
'<b>Grund:</b><br>';
   if (
$result1 == false)
   {
    echo 
'&nbsp;•&nbsp;Die Vollbild-Datei '.$vollbild.' konnte nicht gel&ouml;scht werden!<br>';
   }
   if (
$result2 == false)
   {
    echo 
'&nbsp;•&nbsp;Die Preview-bild-Datei '.$previewbild.' konnte nicht gel&ouml;scht werden!<br>';   
   }
  }
  else
  {
   
$deletequery 'DELETE FROM Fotos WHERE foto_id="'.$_POST["in_id"].'"';
   
$deleteerg mysql_db_query($db_name$deletequery$verbindung) or die(mysql_error().'<br>$deletequery');
   echo 
'Die <b>Foto-ID: '.$_POST["in_id"].'</b> wurde erfolgreich aus der Datenbank entfernt';
   echo 
'&nbsp;und die dazugeh&ouml;rigen Bilder (<b>'.$_POST["in_bilder_image"].'</b>&nbsp;/&nbsp;<b>'.$_POST["in_bilder_thumbnail"].'</b>) auf dem Server gel&ouml;scht!';
  } 
 }
}
?>
<p><a href="../backend/index.php5?cat=2">Zur&uuml;ck zum Galerie-Men&uuml;</a></p>
</body>
</html>
Mein Problem ist, dass ich trotz Verwendung von jpg-Files immer die Meldung angezeigt bekomme "Der Upload wurde nicht gestartet, weil vergessen wurde entsprechende Bilder auszuwählen!" und auch nachweislich kein Datei auf den Server übertragen wurde!

Habe es schon mal mit error_reporting(E_ALL); versucht - ohne Ergebnis!

Ich hoffe eine das hier jemand nicht mit der gleichen Blindheit geschlagen ist wie ich und weiterhelfen kann!?
Mit Zitat antworten