j'essai de créer une fonction pour récupérer le mime-type de n'importe quel fichier avec 2 arguments, le fichier et le chemin vers le fichier de la base fileinfo (/usr/share/misc/magic) sur bsd, il marche parfaitement.
Mais je me heurte au problème de vouloir inclure le chemin par défaut si le 2ème argument est omis:
Voici le code:
CODE
<?php
/* Retourne le mime-type de n'importe quel fichier */
function get_mime_type($filename, $fichier_magic)
{
if(!$fichier_magic)
{
$fichier_magic = '/usr/share/misc/magic';
}
$finfo = finfo_open(FILEINFO_MIME, $fichier_magic); // Retourne le type mime
if(file_exists($filename))
{
if ($finfo)
{
/* Récupère le mime-type d'un fichier spécifique */
$infos = finfo_file($finfo, $filename);
}
else
{
return FALSE;
}
}
else
{
return FALSE;
}
/* Fermeture de la connexion */
finfo_close($finfo);
return $infos;
}
echo get_mime_type('BigMisterC.ttf');
?>
/* Retourne le mime-type de n'importe quel fichier */
function get_mime_type($filename, $fichier_magic)
{
if(!$fichier_magic)
{
$fichier_magic = '/usr/share/misc/magic';
}
$finfo = finfo_open(FILEINFO_MIME, $fichier_magic); // Retourne le type mime
if(file_exists($filename))
{
if ($finfo)
{
/* Récupère le mime-type d'un fichier spécifique */
$infos = finfo_file($finfo, $filename);
}
else
{
return FALSE;
}
}
else
{
return FALSE;
}
/* Fermeture de la connexion */
finfo_close($finfo);
return $infos;
}
echo get_mime_type('BigMisterC.ttf');
?>
Donc ici je n'inclus pas le 2ème arguement et me retourne une erreur comme quoi le 2ème argument n'est pas indiqué, donc comment faire pour qu'il me retourne le mime-type avec le second argument par défaut si rien n'est indiqué.
Donc dans cet echo j'ai omis exprès le second argument pour tester et voici:
CODE
Warning: Missing argument 2 for get_mime_type(), called in /usr/local/www/data/host/domaine.com/test/essai.php on line 60 and defined in /usr/local/www/data/host/domaine.com/test/essai.php on line 3
application/octet-stream
application/octet-stream
Je pourrais placer un arobase devant la fonction mais c pas très propre en production.
Le but de la manoeuvre est d'utiliser cette fonction sur un système comme Windows dont le chemin de la base magic.mime n'est pas identique à bsd.
D'avance merci à tous.