BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Bild überprüfung (http://www.black-board.net/thread.php?threadid=22073)


Geschrieben von SpL!T am 18.04.2006 um 14:37:

  Bild überprüfung

Hi,

Bei einem Upload soll überprüft werden ob die Date eine .jpg, .jpeg, .gif oder .png datei ist.


Hiermit kann ich zwar überprüfen, ob in der Datei eine der Endungen vorhanden ist, jedoch würde z.B. Virusjpg.exe auch als Bild akzeptiert, was ja nicht gewünscht ist.

php:
1:
2:
3:
4:
5:
if (preg_match("/jpg/i""Dateiname")) {
   echo "Bild";
} else {
   echo "kein Bild";
}


Kennt da jemand eine sinvolle Lösung?



Geschrieben von Misel am 18.04.2006 um 15:32:

 

Erstmal kannst Du den Ausdruck erweitern auf /*\.jpg$/. Damit wird geprüft ob der Dateiname auf ".jpg" endet. Die Profis hier werden da wohl gleich noch die anderen Endungen mit anknüpfen.

Es gibt unter Linux ein Tool namens "file". Wenn man dem einen Dateinamen übergibt, sagt das, was es für ein Dateityp ist, basierend auf dem Inhalt. Wenn das ein Rootserver ist, ließe sich das schnell bewerkstelligen.

Allerdings ist das so ein allerweltsproblem, dass es da schon mehr als eine Lösung für gibt. Schau mal nach der Funktion

string mime_content_type(string filename);



Geschrieben von LX am 18.04.2006 um 16:19:

Achtung

Zitat:
Original von Misel
Erstmal kannst Du den Ausdruck erweitern auf /*\.jpg$/.
Wenn schon, dann /.*\.jpg$/i Augenzwinkern

Ich empfehle aber die Funktion getimagesize(), welche entgegen ihrem Namen auch das Bildformat zurückgibt.



Geschrieben von SpL!T am 19.04.2006 um 10:04:

 

hat wunderbar geklappt besten Dank !


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH