IE 7 verhindert Dateiupload

Hektik

Erfahrenes Mitglied
Hallo!

Ich ermögliche über ein simples Formular einen Dateiupload. Klappt alles so wie ich es will, in FF, Opera und IE6. Wenn ich es jedoch im IE 7 machen will wirft er mir meine Fehlerüberprüfung aus, da das Bild angeblich kein erlaubter Dateityp ist (gif oder jpeg).
Woran liegt das?

Mein Code:

PHP:
				<?php

if ($_GET['upload'] == "ja") {

	// temporärer Name im TMP-Verzeichnis
	$tempname = $_FILES['file']['tmp_name'];

	// Name der Datei auf dem Clientrechner
	$name = $_FILES['file']['name'];

	// Datei-Typ
	$type = $_FILES['file']['type'];

	// Dateigröße
	$size = $_FILES['file']['size'];

	// Überprüfung auf Datei-Typ
	if($type != "image/gif" && $type != "image/jpeg" && $type != "image/jpg") {
		$err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
	}
	// Überprüfung auf Dateigröße
	if($size > "500000") {
		$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 480 KB!";
	}


	if(empty($err)) {
		copy("$tempname", "../bilder/".$_GET['nav']."/$name");
		echo "Die Datei <i>$name</i> wurde erfolgreich hochgeladen!";
		echo '<br><br><img width="200px" src="../bilder/'.$_GET['nav'].'/'.$name.'"';
	}
	else {
		foreach($err as $error)
		echo "$error<br>";
	}
}
else {
	?>
	<form enctype="multipart/form-data" action="index.php?nav=<?php echo $_GET['nav']; ?>&expand=text&bereich=service&upload=ja#neu" method="post"> 
	<input type="file" name="file"><br><br> 
	<input type="submit" value="hochladen"> 
	</form>
	<?php
}
?>
 
Wie oft wurde diese Frage eigentlich schon gestellt und beantwortet :rolleyes:

Es gibt diverse MIME-Typen für JPG-Grafiken, nicht nur die beiden von dir verwendeten.
Wenn du alle in einem Rutsch erfassen willst, verwende [phpf]getimagesize[/phpf] , um zu ermitteln, um was es sich handelt.
 
Was der Client sendet, sollte immer mit einem mistrauischen Auge gesehen werden – gerade was das Senden von Dateien angeht. Denn der Client kann dort gehörig lügen und auch böse Skripte als Blümchenbild anpreisen.
Daher ist es immer besser die Daten zu validieren. Bei Grafiken ist dies sogar noch recht einfach, da PHP bereits eine umfangreiche Grafik-Bibliothek besitzt und die vermeintlichen Grafiken versuchen kann zu öffnen.
 
Zurück