Problem bei Datei Hochladen

hanow

Mitglied
Guten Tag, alle

Ich bin Anfänger für PHP und hab ein Problem von einem kleinen Programm, das ich geschrieben hab. :( Ich weiß nicht warum eine lokale Bild-Datei nicht hochgeladen wurde und auch keine Fehlermeldung gezeigt hat..Kann mir jemand helfen****? Danke!

Das Programm sieht wie folgendes aus:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>datei_upload_bild</title>
</head>

<body>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" enctype="multipart/form-data">
Bild-Datei:<br />

<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
<input type="file" name="datei" /><br />
<input type="submit" name="sbm" value="Hochladen" />

</form>


<?php
  
  if(isset($_POST["sbm"])){
	  
	  if(isset($_POST["datei"]) AND (!$_FILES["datei"]["error"]) AND ($_FILES["datei"]["size"] < 300000)){
		
		$bildinfo = getimagesize($_FILES["datei"]["tmp_name"]); //Größe der Bilddatei + Eigenschaft auslesen und Prüfung der Gültigkeit der Bild-Datei
		
		//echo "$bildinfo <br/>";
		
		if($bildinfo == false){
			
			//echo "Das ist kein Bild.<br />";
			die("Kein Bild");
		
		}else{
			
			$mime = $bildinfo["mime"];
			
			$mimetype = array(
			
			"image/jpeg"=> "jpg",
			"image/png"=> "png",
			"image/gif"=> "gif",
			"image/bmp"=> "bmp",
			"image/psd"=> "psd",
			"image/tiff"=> "tiff",
			"image/swf"=> "swf"			
			
			);
			
			if(!isset($mimetype[$mime])){
				
				die("Nicht das richtige Format.");
				
				
			}else{
				
				$endung = $mimetype[$mime];
				
			}
			
			//basename : zeigt den volständigen Pfad einer Datei, gibt Datei-Name zurück wenn basename($path, suffix), wird der Suffix vom Name entfernt werden.
			$neue_name = basename($_FILES["datei"]["name"]);
			
			//alle Endungen durch $endung ersetzen.
			$neue_name = preg_replace("/\.(jpe?g|gif|png|bmp|psd|tiff|swf)$/i", "", $neue_name);
			
			$neue_name = preg_replace("/[^a-zA-Z0-9_-]/", "", $neue_name);
			$neue_name .= ".$endung";
			
			$ziel = "upload/$neue_name";
			
			while(file_exists($ziel)){
				
				$neue_name = "kopie_$neuen_name";
				
				$ziel = "upload/$neue_name";
				
			}
			
			//Prüft ob der Übertragung erfolgreich ist.
			if(move_uploaded_file($_FILES["datei"]["tmp_name"], $ziel)){
				
				echo "Dateiupload hat geklappt.<br/>";
				
			}else{
				
				echo "Dateiupload hat lieder nicht geklappt...<br/>";
				
			}
									
		}
					
		  
	  }
	  
	  echo "why? <br/>";
	  echo $_FILES["datei"]["error"] . "<br />";	
	  
  }  

 ?>
</body>
</html>
 
Zurück