Dateiupload

GN911

Erfahrenes Mitglied
Hallo

ich versuche gerade ein Dateiupload zu coden,

PHP:
   <body>
   <?php
   
     if (isset($_POST['bild']))
     {
   	  $path = "/upload/";
   	  
   	  $tmpname = $_FILES['bild'] ['tmp_name'];
   	  $name	= $_FILES['bild']['name'];
   	  $type	= $_FILES['bild']['type'];
   	  $size	= $_FILES['bild']['size'];
   	  
   	  // es dürfen nur bestimmte Dateien ausgewählt werden
 	 if ($type != "image/gif" && $type != "image/pjpeg" && $type != "image/jpeg" && $type != "image/png" && $type != "image/bmp")
   	  {
   		  $err[] = "Bitte nur Bildformate auswählen.\n";
   	  }
   	  // gucken ob es die Datei schon gibt
   	  if (file_exists($name))
   	  {
   		  $err[] = "Die Datei ist schon vorhanden.\n";
   	  }
   	  //
   	  if (ini_set(upload_max_filesize, "5M"))
   	  {
   		  $err[] = "Die Datei ist zu groß.\n";
   	  }
   	  
   	  // Hier soll die Datei auf den Server kopiert werden
   	  if (is_uploaded_file($tmpname))
   	  {
   		  echo "klappt";
   		  print_r($_FILES);
   	  }
   	  else
   	  {
   		  echo "klappt nicht";
   		  print_r($_FILES);
   	  }
     }
     else
     {
 	 echo "<form action=\"". $_SERVER['PHP_SELF'] ."\" method=\"post\" enctype=\"multipart/from-data\">\n";
   	  echo "  <input type=\"file\" name=\"bild\" />\n";
   	  echo "  <br />\n";
   	  echo "  <input type=\"submit\" value=\"upload\" />\n";
   	  echo "</form>\n";
     }
   
   ?>
   </body>
   </html>

es geht leider so nicht.

GN
 
Ohne Jede Fehlermeldung würde ich tippen das du mal diese Zeile:


if (isset($_POST['bild']))


in folgende änderst


if (isset($_FILES['bild']))



Hilft das schon?

//edit:
achja, hier is noch ein Tippfehler:
$tmpname = $_FILES['bild'] ['tmp_name'];

So ist das schöner:
$tmpname = $_FILES['bild']['tmp_name'];
 
versuche es mal so:

Code:
// der Name ['file'] ist variabel, muss aber mit der Bezeichnung der Box übereinstimmen
if ($_FILES['file']['name']){			
   $tempname = $_FILES['file']['tmp_name'];
   $name = time() . $_FILES['file']['name'];
   $type = $_FILES['file']['type']; 
   $size = $_FILES['file']['size'];
}

// hier deine Überprüfungen einfügen - 
if ($type !=.......)... 

// hier die Errors ausgeben (bei Bedarf)
$z=0;
while ($error[$z]) {
        echo $error[$z] . "<br>\n";
        $z++;
}

// hier speichert er die Datei in den Ordner "bild" (auf den Server)
if(empty($err)) { 
   copy("$tempname", "bilder/$name")
}
 
Zuletzt bearbeitet:
In der Deklaration Deiner Form ist ein Tippfehler:
PHP:
  echo "<form action=\"". $_SERVER['PHP_SELF'] ."\" method=\"post\" enctype=\"multipart/from-data\">\n";

Es muss multipart/form-data und nicht multipart/from-data.
 
Zurück