Jump to content


Valter Ferreira Martins

Member Since 13/08/2007
Offline Last Active 30/06/2009, 09:14
-----

Topics I've Started

Ajuda Com Upload

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

IPB Skin By Virteq