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