Vérifier type MIME
Résolu
Bonjour,
En souhaitant vérifier l'envoie avec mon formulaire de mon fichier de Type MIME cela me retourne une erreur que je ne comprends pas d'autant plus que tout me parait correct, pouvez-vous m'aider s'ils vous plait je vous remercie.
En souhaitant vérifier l'envoie avec mon formulaire de mon fichier de Type MIME cela me retourne une erreur que je ne comprends pas d'autant plus que tout me parait correct, pouvez-vous m'aider s'ils vous plait je vous remercie.
Warning: mime_content_type(): Can only process string or stream arguments in.....
$files = !empty($_FILES['namefoto']) ? $_FILES['namefoto'] : '';
$fileName = !empty($files['name']) ? $files['name'] : '';
$fileTemp = !empty($files['tmp_name']) ? $files['tmp_name'] : '';
//On autorise uniquement les fichiers image de type gif, jpeg et png
$type_autorises = ['image/jpg', 'image/gif', 'image/png', 'image/jepg'];
$fichier_upload = $fileTemp[$i];
//On récupérer le type MIME du fichier en utilisant la fonction mime_content_type()
$fichier_type = mime_content_type($fichier_upload);
//On vérifie que le type MIME appartient aux fichiers autorisés
if(!in_array($fichier_type, $type_autorises)) {
$erreur = "<span class='erreur'>Seul les fichiers images sont autorisés !</span>";
}
<input type="file" name="namefoto[]" size="25" value="'.$fileName.'" accept="image/png, image/jpeg, image/gif" multiple="" />
6 réponses
-
J'ai réussi à solutionner mon problème, merci.
-
-
-
excuse moi en fait non ça ne fonctionne pas non plus. J'ai pris un fichier .php et j'ai renommé l'extension en .png et j'ai testé le fichier cela me retourne bien cette erreur donc normal.
$erreur = "<span class='erreur'>Seul les fichiers images sont autorisés !</span>";
mais ce que je n'avais pas essayé c'était de uploder un fichier image un vrai cette fois ci et malheureusement cela me retourne la même erreur. -
Bonjour,
J'ai essayé toujours la même erreur. Par contre je viens de voir qu'en changeant le fonction,$fichier_type = mime_content_type($fichier_upload);
par$fichier_type = image_type_to_mime_type($fichier_upload);
et en gardant à l'identique le reste du code tout fonctionne nickel. Pourtant sur beaucoup de post c'était bien celle là " mime_content_type " alors ça marche mais à ton avis tu peux me dire ce que tu en penses. Merci -
ModérateurBonjour,
Essayes avec le NAME au lieu du TMP_NAME