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
Nog geen reacties.