Scripts
MIME-type bepalen
Dit script probeert aan de hand van de eerste byte sequences van een bestand het MIME-type te bepalen. Handig om te verifieren of de browser van de client het juiste MIME-type geeft aan een HTTP upload of om te controleren of er niet met het te uploaden bestand is geknoeid. Dit script bepaalt het MIME-type van de meest gangbare afbeeldingsformaten. Mocht je zelf MIME-typen willen toevoegen, zie dan het magic.mime bestand bij je webserver of PHP-distributie voor de correcte types en byte sequences.
mimetype-bepalen
<?php
function get_mime($file)//Specificeer pad naar het bestand
{
$handle=fopen($file,'rb'); //Open het bestand in binaire modus
$data=bin2hex(fread($handle,24)); //Lees de eerste 14 bytes uit het bestand en zet deze in hexadecimale notatie
switch($data) //Gebruik switch controlestructuur voor verificatie
{
case '424d'==substr($data,0,4): //Normaliter neemt 1 hex digit 4 bits in. Door typecasting conversie naar string, dus 1 byte
return 'image/x-bmp';
break;
case '5c783838504e47'==substr($data,0,14):
return 'image/x-png';
break;
case '89504e47'==substr($data,0,8):
return 'image/x-png';
break;
case '504e47'==substr($data,0,6):
return 'image/x-png';
break;
case 'ffd8ffe000104a4649460001'==substr($data,0,24):
return 'image/jpeg';
break;
case '68736931'==substr($data,0,8):
return 'image/x-jpeg';
break;
case '47494638'==substr($data,0,8):
return 'image/x-gif';
break;
default:
return false; //Als het patroon niet wordt gevonden...
}
fclose($handle);
}
?>
Reacties
0