Maison >développement back-end >tutoriel php >Comment valider les types de fichiers téléchargés en PHP avec `in_array()` ?

Comment valider les types de fichiers téléchargés en PHP avec `in_array()` ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 13:46:02187parcourir

How to Validate Uploaded File Types in PHP with `in_array()`?

Téléchargement de types de fichiers spécifiés avec PHP

Dans les applications Web, permettre aux utilisateurs de télécharger des fichiers nécessite un examen attentif de la sécurité et de la validation du contenu. Lorsque vous souhaitez restreindre les téléchargements à des types de fichiers spécifiques, PHP fournit une solution via la fonction in_array().

Problème :

Vous souhaitez créer une instruction if dans PHP pour valider les fichiers téléchargés et autoriser uniquement les fichiers des types suivants : jpg, gif et pdf. Le code ci-dessous nécessite la structuration appropriée de l'instruction if.

$file_type = $_FILES['foreign_character_upload']['type']; //returns the mimetype

if(/*$file_type is anything other than jpg, gif, or pdf*/) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}

Solution :

Pour garantir que les fichiers téléchargés sont conformes à vos spécifications, créez un tableau de fichiers autorisés types et utilisez in_array() pour déterminer si le type MIME du fichier téléchargé est inclus dans le tableau.

$file_type = $_FILES['foreign_character_upload']['type']; //returns the mimetype

$allowed = array("image/jpeg", "image/gif", "application/pdf");
if(!in_array($file_type, $allowed)) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}

En comparant le type de fichier à la liste prédéfinie des types autorisés, cette instruction if révisée empêche efficacement les téléchargements de fichiers non -fichiers conformes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn