Fileupload will einfach nicht mehr klappen

jasoeight

Grünschnabel
Kann jemand am folgenden Code einen Fehler entdecken? Ich möchte eine Datei uploaden. Doch jedes Mal, wenn ich auf den Button klicke, kommt das Formular wieder - nur ohne "Datei".

Es hat schon mal funktioniert, und ich seh leider keinen Fehler...eventuell ja ihr?


Der $_FILES['bild']['tmp_name'] gibt folgendes - muss das so sein?
D:\Programmieren\xampp\xampp\tmp\php1A.tmp

Ich bin überfragt.

Danke schon mal im Voraus



PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bild uploaden</title>
</head>
<body>
<?php
// Dateien einbinden für die Datenbankverarbeitung
include_once("../include/dbMysql.class.php5");
include_once("../include/db.class.php5");
include_once("../include/all.function.php5");

if($_POST['sent']==1)
{
   var_dump($_FILES['bild']['tmp_name']);
   // leere Eingaben überprüfen
   if($_FILES['bild']['tmp_name']!="")
   {
       $fehler = "";
       if($_POST['bildtitel'] == ""){$fehler.="Es fehlt der Bildtitel!<br />";}
       if($_POST['bildname'] == ""){$fehler.="Es fehlt der Bildname!<br />";}
       if($_POST['bildname'] != "")
       {
           $db_img_controll = new db();
           $sql_img_controll = "SELECT COUNT(*) as anzahl FROM bkm_img WHERE bkm_imgtitle LIKE '".$_POST['bildname']."'";
           $img = $db_img_controll->execute($sql_img_controll);
           if($img[1]['anzahl'] > 0)
           {
               $fehler.="Der Bildname ist schon vergeben.<br />";
           }
       }
         if($_FILES['bild']['size']>1048576){$fehler.="Die Datei ist größer als ein MegaByte!<br />";} // 1 MB
       //nur Bilder erlauben
       if(!($_FILES['bild']['type']=="image/jpeg" OR $_FILES['bild']['type']=="image/gif" OR $_FILES['bild']['type']=="image/png"))
       {
           $fehler.="Der Datei-Typ ist nicht zulässig (nur jpeg, gif, png)!<br />";
       }
   }
   else
   {
       $fehler.="Es wurde keine Datei angegeben!<br />";
   }
         // bei leerer Eingabe keine Datenbankbearbeitung
   if(isset($fehler))
   {
       unset($_POST['sent']);
       echo "<p><font color=\"red\">".$fehler."</font></p>";
   }
   else
   {
       if($_POST['bildname']!="" AND $_FILES['bild']['tmp_name']!="")
       {
           if($_FILES['bild']['type']=="image/jpeg"){$bild_typ = "jpg";}
           if($_FILES['bild']['type']=="image/gif"){$bild_typ = "gif";}
           if($_FILES['bild']['type']=="image/png"){$bild_typ = "png";}
           // Bild-Link vergeben
           $bild = "../img/info/".$_POST['bildname'].".".$bild_typ;
           copy($_FILES['bild']['tmp_name'], $bild);
       }
                     $db_img = new db();
       $sql_img = "INSERT INTO bkm_img (bkm_imgalttext, bkm_imgtitle, bkm_imgtype) VALUES
                   ('".$_POST['bildtitel']."', '".$_POST['bildname']."', '".$bild_typ."')";
       $db_img->execute($sql_img);
       echo "<div align=\"center\">Das Bild wurde hochgeladen und kann jetzt eingebunden werden!
               <br /><a href=\"javascript: window.close();\" title=\"Interner Link: Fenster schlie&szlig;en\">Fenster schlie&szlig;en</a></div>";
   }
}

//Textformular
if(!$_POST['sent'])
{
   echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\">";
   echo "<p><b>Datei</b><br /><input type=\"file\" name=\"bild\" /></p>";
   echo "<p><b>Bildtitel</b><br />";
   echo "<input type=\"text\" name=\"bildtitel\" value=\"".$_POST['bildtitel']."\" size=\"22\" /></p>";
   echo "<p><b>Bildname</b><br />";
   echo "<input type=\"text\" name=\"bildname\" value=\"".$_POST['bildname']."\" size=\"22\" maxlength=\"10\" /></p>";
   echo "<input type=\"hidden\" name=\"sent\" value=\"1\" />";
   echo "<p><input type=\"submit\" name=\"submit\" value=\"Ausführen\" />";
   echo "&nbsp;&nbsp;<input type=\"button\" value=\"Fenster schlie&szlig;en\" onClick=\"window.close();\" /></form>";
}
?>
</body>
</html>
 
die sache geht ja lokal auch nicht - und da ist die dateigröße egal...

aber selbst so, die datei war grad mal 300 kb groß - aber ich überprüf es noch mal..
 
Zurück