Regulärer Ausdruck falsch ? :(

LoMo

Erfahrenes Mitglied
Ich hätte mal eine Frage bezüglich des folgendes Codes

Prüffunktion:
PHP:
					if(isset($_POST['Bild']))
					{
						if(isset($_FILES['Bild']['name']) && $_FILES['Bild']['error'] !== UPLOAD_ERR_OK) 
						{ 
							if( !(bool)preg_match('/^image\x2F(gif|p?jpeg|png|jpg)$/i',$_FILES['Bild']['type'])) { 								
								echo '<br />&nbsp;<span class="Warntext">Die Grafik muss eine GIF,PNG oder JPEG-Datei sein!</span>'; 
								$comzeichen = 1; 
							} 
							if( $_FILES['Bild']['size'] > 400000 ) { 
								echo '<br />&nbsp;<span class="Warntext">Die Grafik darf nicht größer als 4 MB sein!</span>'; 
								$comzeichen = 1; 
							} 
						} 
					}

Was könnte bei diesen Beispiel falsch sein. Der Fehler liegt darin, dass ich jede belibige Datei z.B. eine .exe hochladen kann. Er soll aber nur PNG,JPG,JPEG und GIF Dateien hochladen können und die Datei soll nicht größer als 4MB sein. Ich denke mal, dass das Suchmuster falsch ist.

Hier das Dateifeld:
HTML:
<input name="Bild" type="file" class="Textfelder" id="Bild" size="50" tabindex="5">

Könnte sich jemand den Code mal angucken ? Vielleicht findet ihr ja den Fehler :D.

ps. tutorials.de ist einfach geilo :)

mfg lomo
 
Sollte die hochgeladene Datei nicht eher dann weiterverarbeitet werden, wenn kein Fehler vorliegt, also der Fehlercode mit UPLOAD_ERR_OK identisch ist?
 
Stimmt des is auch ein Fehler :D. Aber geht immer noch nicht komischer Weise geht er nicht mal in die Funktion rein, obwohl ich eine Datei geladen hab.

mfg lomo
 
Wird denn überhaupt ein Parameter namens Bild per HTTP-POST-Methode übergeben, oder sollte die Referenz etwa if(isset($_FILES['Bild'])) lauten?
 
Juhu es funktioniert jetzt. Der eine Fehler war, dass ich es versucht hab per Post auszulesen. Vielen Dank für die Hilfe.

mfg lomo
 
Wenn deine Frage damit beantwortet beziehungsweise dein Anliegen befriedigt ist, dann markiere dieses Thema doch bitte als erledigt.
 
Zurück