Maar dan kunnen mensen een bestand gewoon hernoemen naar .jpg ofzo.
Bij de functie die ik net gaf, mime_content_type() wordt naar de inhoud van het bestand gekeken. De manier waarop het opgebouwd is en aan de hand daarvan bepaald wat voor bestand het is. Het nadeel daaraan is dat bij een groot plaatje onderaan een klein stukje php ofzo toegevoegd kan worden, je het gewoon op kunt slaan als .php en mime_content_type() geeft aan dat het een image/gif ofzo is.
Beste manier om te achterhalen wat voor bestand je mee te maken hebt is beide manieren te controleren. Voor een gif'je moet dus mime_content_type() 'image/gif' geven en de code die ik hierboven gaf moet 'gif' opleveren.
Ligt eraan waarvoor het is, soms is het overdreven die dubbele controle :)