Você está aqui: PHP ::: Dicas & Truques ::: Upload de Arquivos |
Restringindo os tipos de arquivos que podem ser enviados ao servidor em uma operação de upload em PHPQuantidade de visualizações: 9143 vezes |
|
Nesta dica mostrarei como você pode restringir os tipos de arquivos que podem ser enviados ao servidor em uma operação de upload em PHP. A técnica é muito simples. Sabemos que o array $_FILES contém várias informações sobre o arquivo enviado pelo usuário, entre elas o tipo (mime type) do arquivo. O primeiro passo é criar um array de tipos permitidos: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
$tipos_validos = array("image/jpeg", "image/pjpeg", "image/jpg",
"image/gif", "image/png");
Note que, quando o upload é feito usando o Internet Explorer (IE), o mime type de uma imagem JPG é reconhecido como image/pjpeg. Teste seus formulários de uploads em vários navegadores antes de liberar ao público. Em seguida testamos se o tipo do arquivo enviado não está na lista de arquivos permitidos. Se o teste resultar verdadeiro, o upload do arquivo é barrado, ou seja, ele não é transferido para seu local definitivo por meio da função move_uploaded_file(). Veja um exemplo completo de um script PHP que processa o arquivo recebido de um formulário que contém um <input type="file"> com o nome de "arquivo": ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?
// diretório no qual o arquivo será gravado. este diretório
// deverá ter permissão de escrita
$diretorio = "/home/xxxx/xxxx/imagens/";
// lista de tipos aceitáveis. veja
// http://www.arquivodecodigos.net/arquivo/ferramentas/mime_types.php
// para uma lista bem completa de mime-types
$tipos_validos = array("image/jpeg", "image/pjpeg", "image/jpg",
"image/gif", "image/png");
// vamos verificar o código do erro
if($_FILES['arquivo']['error'] == UPLOAD_ERR_OK){
// o arquivo foi transferido com sucesso. vamos verificar se
// o tipo do arquivo é permitido
if(!in_array($_FILES['arquivo']['type'], $tipos_validos)){
echo "O tipo do arquivo enviado (" .
$_FILES['arquivo']['type'] . ") não é permitido";
}
else{
move_uploaded_file($_FILES["arquivo"]["tmp_name"],
$diretorio . $_FILES["arquivo"]["name"]);
echo "Upload feito com sucesso";
}
}
else
echo "Ocorreu um erro no upload";
?>
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






