*nur jpeg hochladen*

thehasso

Erfahrenes Mitglied
Hallo,

ich arbeite gerade an meinen UPLOAD Bilder SKRIPT und zwar möchte ich, das nur JPEG Bilder hochgeladen werden dürfen. Ich bin schon soweit, dass es funktioniert.
Jedoch wundert es mich, dass wenn eine Bedingung nicht erfüllt ist, immer alle 3 Fehlermeldungen ausgegeben werden. Würd mich über heglichen TIPP freuen, ich komm einfach nicht darauf, weshalb alle 3 Fehlermeldungen ausgegeben werden.

PHP:
<h2>Bilder - Hochladen</h2>
<form  action="<? echo $_SERVER['PHP_SELF'];?>"  method="post" enctype="multipart/form-data">
  <br>
  <input type="hidden" name="MAX_FILE_SIZE" value="902400">

  <br/>
  <span id="sprytrigger1"><input type="file" name="dateiname"></span><br/><br/>
  
  <input type="file" name="bild1"><br/><br/>
    <input type="file" name="bild2"><br/>

   <input type="hidden" name="abschicken" value="1">
  <input type="submit" value="Übertragen">
</form>
<div class="tooltipContent" id="sprytooltip1">Profilanzeige Bild</div>

<?php


if (isset($_POST["abschicken"])) {
	
  $dateiname = $_FILES['dateiname']['name'];
  $tmp_name = $_FILES['dateiname']['tmp_name'];
  
  
  $bild1 = $_FILES['bild1']['name'];
  $tmp_name1 = $_FILES['bild1']['tmp_name'];
  
  $bild2 = $_FILES['bild2']['name'];
  $tmp_name2 = $_FILES['bild2']['tmp_name'];
  
  
    echo "--->";echo $tmp_name; echo "<---";
	 echo "--->";echo $tmp_name1; echo "<---";

  
  // Festlegen des Pfades mit Dateinamen.     
  $uploadname ="img/$dateiname";
  $uploadname1 ="img/$bild1";
  $uploadname2 ="img/$bild2";
  
  
     if ($_FILES['dateiname']['type'] != "image/jpeg") {	// size $_FILES['dateiname']['size'] 
	  echo "<br>";
	  printf("FEHLER1, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['dateiname']['name']);
   
   }else{
   
   move_uploaded_file($tmp_name,$uploadname);  
   
   }
   
   
    if ($_FILES['bild1']['type'] != "image/jpeg") {
      echo "<br>"; 
	  printf("Fehler2, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['bild1']['name']);
   }else{
	   
   move_uploaded_file($tmp_name1,$uploadname1);  
   
   }
   
   
    if ($_FILES['bild2']['type'] != "image/jpeg") {
      echo "<br>"; 
	  printf("FEHLER3, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['bild2']['name']);
   }else{
   
   move_uploaded_file($tmp_name2,$uploadname2); 
   
   }


## EDIT ##

hat sich doch erledigt, habs komischer aber glücklicherweise selbst raus bekommen :D

PHP:
 if ( $_FILES['dateiname']['type']  != NULL ) {
  
     if ($_FILES['dateiname']['type'] != "image/jpeg") {	// size $_FILES['dateiname']['size'] 
	  echo "<br>";
	  printf("FEHLER1, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['dateiname']['name']);
   
   }else{
   
   move_uploaded_file($tmp_name,$uploadname);  
   
   }
   
	}
 
   if ( $_FILES['bild1']['type']  != NULL ) {
	   
    if ($_FILES['bild1']['type'] != "image/jpeg") {
      echo "<br>"; 
	  printf("Fehler2, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['bild1']['name']);
   }else{
	   
   move_uploaded_file($tmp_name1,$uploadname1);  
   
   }
   
   }
   
   if ( $_FILES['bild2']['type']  != NULL ) {
	   
    if ($_FILES['bild2']['type'] != "image/jpeg") {
      echo "<br>"; 
	  printf("FEHLER3, Die Datei <b>%s</b> konnte nicht Hochgeladen werden.", $_FILES['bild2']['name']);
   }else{
   
   move_uploaded_file($tmp_name2,$uploadname2); 
   
   }
    
   }


danke trozdem!
 
Noch kurz als Anmerkung:
Die Überprüfung des einen Felders reicht leider nicht aus, da man es beliebig manipulieren kann. Man kann so also auch Programme hochladen und dem Server sagen, es sei ein Bild.
Wenn du da gerne weitere Überprüfungen willst, schreib mich einfach mal an, dann kann ich dir da ein paar Tips geben :)

Gruß
BK
 
Zurück