[résolu]détection du type d'un fichier

Eléphant du PHP | 83 Messages

14 nov. 2011, 18:54

Bonjour,

je fais un formulaire d'envoi de mail avec pièces attachées. Donc ces pièces, d'abord je les uploade, et ensuite je voudrais en lire le type afin de régler le "Content-Type" du header du mail. Mais commdnt faire ça ? J'ai tenté :
if (isset($_FILES['file1']['name'])) {
	    move_uploaded_file($_FILES['file1']['tmp_name'], $chemin_destination.$_FILES['file1']['name']);
	    $adr_file1=$chemin_destination.$_FILES['file1']['name'];
	}
$base1=basename($adr_file1);

echo "type=".mime_content_type($base1);
et
Fatal error: Call to undefined function mime_content_type() in /homepages/18/d246623212/htdocs/test/mailetpieceattac/action.php on line 82
Donc comment faire ?
Modifié en dernier par laurents le 15 nov. 2011, 09:48, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

14 nov. 2011, 21:31

Cette fonction est obsolète, donc peut être supprimée. (bien que cela m'étonnes, quelle est ta version de PHP ?)

Utilises : http://fr2.php.net/manual/fr/function.finfo-file.php

Eléphant du PHP | 83 Messages

15 nov. 2011, 00:09

PHPINFO dixit 5.2.17

mais avec finfo_file :

	if (isset($_FILES['file1']['name'])) {
	    move_uploaded_file($_FILES['file1']['tmp_name'], $chemin_destination.$_FILES['file1']['name']);
	    $adr_file1=$chemin_destination.$_FILES['file1']['name'];
		}
...
	$base1=basename($adr_file1);

	//echo "type=".mime_content_type($base1);
	$finfo = finfo_open(FILEINFO_MIME_TYPE);
	finfo_file($finfo, $base1); //sais pas si je prends la bonne variable
	finfo_close($finfo);
Fatal error: Call to undefined function finfo_open() in /homepages/18/d246623212/htdocs/test/mailetpieceattac/action.php on line 83
:(

ViPHP
AB
ViPHP | 5818 Messages

15 nov. 2011, 00:44

Bah finfo est assez capricieux.

Mais dans ce contexte tu peux avoir le type avec $_FILES['file1']['type']

Eléphant du PHP | 83 Messages

15 nov. 2011, 09:50

Mais dans ce contexte tu peux avoir le type avec $_FILES['file1']['type']
Merci pour ta réponse ; d'ailleurs, je l'ai découvert hier soir ; donc "résolu".