Jump to content
Fórum Script Brasil
  • 0

Dúvida com UPLOAD DE ARQUIVO


dedas

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...