Jump to content


Photo

Ajuda Com Upload


  • Faça o login para participar
1 reply to this topic

#1 Valter Ferreira Martins

Valter Ferreira Martins

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado
  • Localidade:Mandaguari
  • Interesses:Ajax, Javascript, PHP e MySQL

Posted 13/08/2007, 13:43

Como posso limitar esse upload, ou seja, somente com extensões ZIP e RAR, vejam:

[codebox] // Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["lista"]) ? $_FILES["lista"] : FALSE;

$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 106883;
// Diretório onde a imagem será salva
$config["diretorio"] = "lista/";

// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao)
{
global $config;

// Gera um nome único para a imagem
$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;

// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
if(file_exists($config["diretorio"] . $imagem_nome))
{
$imagem_nome = nome($extensao);
}

return $imagem_nome;
}

if($arquivo)
{
$erro = array();
if(!eregi("^image\/(zip|rar)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido, arquivo deve possuir uma extensão ZIP ou RAR. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo muito grande, o mesmo deve possuir no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
}
}

if(!sizeof($erro))
{
// Pega extensão do arquivo, o indice 1 do array conterá a extensão
preg_match("/\.(zip|rar){1}$/i", $arquivo["name"], $ext);

// Gera nome único para a imagem
$imagem_nome = nome($ext[1]);

// Caminho de onde a imagem ficará
$imagem_dir = $config["diretorio"] . $imagem_nome;

$sql = "insert into roma_fornecedores ( data, horario, responsavel, nome, empresa, itelefone, email, lista, listEstados, listCidades ) values ('$data1', '$horario', '$responsavel', '$nome', '$empresa', '$itelefone', '$email', '$imagem_dir', '$uf', '$listCidades' )";
echo $sql;
break;
$sql = mysql_query($sql);

// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}
}


?>
[/codebox]

Valeu e fiquem na paz
Valter Ferreira Martins
Programado

#2 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 13/08/2007, 22:17

if($extensao=="zip" OR $extensao=="rar"}



// Continua o processo.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq