[HTML] <input type=file> Dateitypen beschränken

meisteralex

Lieutenant
Registriert
Juni 2003
Beiträge
552
Hi, will hier per <input type="file">-tag usern ermöglichen bilder hochzuladen - allerdings nur bilder !
gibts da irgendnen tag, der die auswahl bei der dateiauswahl beschränkt
das attribut accept="mimetype" klappt ja nicht mehr
 
Re: html <input type=file> Dateitypen beschränken

Nein, gibt es nicht. Wenn dann könntest du die Endung via JavaScript überprüfen, was ich für wenig sinnvoll halte, da man dies leicht umgehen kann und exe Dateien einfach in jpg umbenennen kann.

Am sinnvollsten ist eine Überprüfung nach dem hochladen, z.B. in php:

PHP:
// Pruefen Datei angekommen
	if($_FILES['benutzerbild']['error'] == 0)
	{
		// Pruefen Datei zu gross
		if($_FILES['benutzerbild']['size'] > 30*1024) {
			echo "Die Datei ist zu gross. Maximal erlaubte Groesse: 30 KiloByte.";
			die;
		} 
	
		// Array erstellen
		$result_array = getimagesize($_FILES['benutzerbild']['tmp_name']);
		
		// Pruefen ob Bild u. jpg, gif, png
		if($result_array != FALSE) {
			$mime_type = $result_array['mime'];

     		if($mime_type == "image/jpeg") {
				$typ = ".jpg";
			} else if($mime_type == "image/gif") {
				$typ = ".gif";
			} else if($mime_type == "image/png") {
				$typ = ".png";
			} else {			
				echo "Datei ist nicht jpg, gif oder png!";
				die;
			}
		} else {
			echo "Datei ist kein Bild!";
			die;
		}
		
		// Pruefen ob das Bild 100*100 Pixel nicht ueberschreitet
		if($result_array[0] > 100 or $result_array[1] > 100) {
			echo "Das Bild ist zu gross. Erlaubt sind 100*100 Pixel.";
			die;
		}
 
Re: html <input type=file> Dateitypen beschränken

danke schonmal

kannst du mir auch nochmal das javascript posten


gibt wirklich keine html anweisung um den auswahldialog zu beschränken ?
 
Re: html <input type=file> Dateitypen beschränken

HTML:
<input type="file" accept="image/jpeg,image/gif,image/x-png">
Ist aber auch kein richtiger Schutz. :o
 
Re: html <input type=file> Dateitypen beschränken

meisteralex schrieb:
kannst du mir auch nochmal das javascript posten

Ein JavaScript habe ich nicht parat, da ich mich damit auch nicht so auskenne.
Ich denke aber, dass eine serverseitige Überprüfung am sinnvollsten ist.
 
Re: html <input type=file> Dateitypen beschränken

mit dem Javascript müsste man ja nur mit strpos und substr oder so etwas (denke das gibts auch in JS) den String aus dem Input ab dem letzten vorhandenen Punkt abtrennen und mit einer "Erlaubt-Liste" vergleichen.

Das ganze müsste vom onClick-Script vom Submit-button aufgerufen werden.
 
Zurück
Oben