Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com UPLOAD DE ARQUIVO


dedas

Pergunta

Galera,

to fazendo um sisteminha de upload de arquivo, onde ele verifica o tamanho do arquivo, o formato e se tudo estiver de acordo, ele envia o arquivo.Minha dúvida é a seguinte: A função que eu usei para verificar o formato dos arquivos foi strpos().O grande problema é que eu só posso colocar um formato por condição.Exemplo:

<?php

if(strpos($tipo_arquivo, 'png')){

....

}

?>

Eu sei que eu posso usar a função eregi, mas eu achei bastante complicada de se usar :S

Se alguém puder me dar uma luz eu ficarei grato =]

Ai vai o código do upload de arquivo:

<?php

$nome_arquivo = $_FILES['arquivo']['name'];

$tipo_arquivo = $_FILES['arquivo']['type'];

$tamanho_arquivo = $_FILES['arquivo']['size'];

if($tamanho_arquivo <= 100000000){

if(strpos($tipo_arquivo,'png')){

if(move_uploaded_file($_FILES['arquivo']['tmp_name'],$nome_arquivo)){

echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=upload.html'>

&lt;script type=\"text/javascript\">alert(\"Arquivo enviado com sucesso !!!\")</script>";

}else{

echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=upload.html'>

&lt;script type=\"text/javascript\">alert(\"Diretório não existe !\")</script>";

}

}else{

echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=upload.html'>

&lt;script type=\"text/javascript\">alert(\"Formato inválido !\")</script>";

}

}else{

echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=upload.html'>

&lt;script type=\"text/javascript\">alert(\"Tamanho do arquivo inválido !\")</script>";

}

?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Hi.

A função eregi é deprecated. Se quiser utilizar expressões regulares, use funções como preg_match.

Ou você pode dar explode e pegar o último elemento do array:

$a = 'arquivo.php.png.PHP';
$ext = strtolower(end(explode('.', $a)));
if($ext == 'png' || $ext = 'jpg' || $ext == 'jpeg' || $ext = 'gif')
    echo "O upload sera feito!\n";
else
    echo "Formato de arquivo invalido\n";
Ou usando regexp, com o caractere $ para validar que está no fim da bagaça:
$a = 'arquivo.php.png.phP';
if(preg_match('/\.(png|jpe?g|gif)$/i', $a))
    echo "O upload sera feito!\n";
else
    echo "Formato de arquivo invalido\n";

Só toma cuidado com a configuração do apache, que pode interpretar arquivos como teste.php.jpg como scripts normais, ignorando o "jpg" no final por padrão.

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...