"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como validar tipos de arquivos enviados em PHP com `in_array()`?

Como validar tipos de arquivos enviados em PHP com `in_array()`?

Publicado em 2024-11-26
Navegar:599

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

Upload de tipos de arquivos específicos com PHP

Em aplicativos da web, permitir que os usuários façam upload de arquivos requer uma consideração cuidadosa da segurança e da validação de conteúdo. Quando você deseja restringir uploads para tipos de arquivos específicos, o PHP fornece uma solução através da função in_array().

Problema:

Você deseja criar uma instrução if em PHP para validar arquivos carregados e permitir apenas arquivos dos seguintes tipos: jpg, gif e pdf. O código abaixo requer a estruturação apropriada da instrução 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';
}

Solução:

Para garantir que os arquivos enviados estejam em conformidade com suas especificações, crie uma matriz de tipos de arquivos permitidos e utilize in_array() para determinar se o tipo MIME do arquivo enviado é incluído na matriz.

$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';
}

Ao comparar o tipo de arquivo com a lista predefinida de tipos permitidos, esta instrução if revisada evita efetivamente uploads de arquivos não compatíveis.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3