Page 1 sur 1

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

Posté : 14 nov. 2011, 18:54
par laurents
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 ?

Re: détection du type d'un fichier

Posté : 14 nov. 2011, 21:31
par xTG
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

Re: détection du type d'un fichier

Posté : 15 nov. 2011, 00:09
par laurents
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
:(

Re: détection du type d'un fichier

Posté : 15 nov. 2011, 00:44
par AB
Bah finfo est assez capricieux.

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

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

Posté : 15 nov. 2011, 09:50
par laurents
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".