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

Upload Repetido


iagouilian

Pergunta

o meu script ta fazendo o upload repetido

olhem:

<?php

class upload
{
    var $tipos = array("application/octet-stream"  =>"rar",
    "application/x-rar-compressed"   =>"rar",
    "image/pjpeg" =>"jpeg", 
    "image/x-png" =>"png");

    var $tamanhoMaximo = 5242880;//bytes = 635kb

    var $destino = "../upload/";


    var $tamanho;
    var $arquivo;
    var $tipo;
    var $tmp;
    var $lg2;
    var $des2;

    var $novoNome;

    
    function upload($arquivo)
    {
        $this->arquivo = $_FILES['arquivo']['name'];
        $this->tamanho = $_FILES['arquivo']['size'];
        $this->tipo    = "application/x-rar-compressed";
        $this->tmp     = $_FILES['arquivo']['tmp_name'];
    }#fecha funcao;

    function erro($mensagem)
    {
        echo $mensagem;
    }#fecha erro();

    function novoNome($mime)
    {
        $randomico = rand(0,800);
        $this->novoNome = substr(($this->arquivo),0,-4)."-".substr(md5($this->arquivo.$randomico),0,5).".".substr(($this->arquivo),-3);
    }#fecha novoNome();

    function copia($tipo)
    {
        if($this->arquivo)
        {
            $this->lg2 = $_POST["lg"];
            $this->des2 = $_POST["des"];
            $this->novoNome($tipo);
            copy($this->tmp,$this->destino.$this->novoNome);
            echo ("Upload efetuado com sucesso! <br>Link: http://meucs.com/baixar.php?arquivo=" . ($this->novoNome) . "<br> <br> <br>"); mysql_query("INSERT INTO `uniambie_cs`.`uploads` (`nome` ,`login` ,`tamanho` ,`descricao` ,`acessos`, `data` ) VALUES ('$this->novoNome', '$this->lg2', '$this->tamanho', '$this->des2', '0', 'now()')");
        }
    }#fecha copia();

    function fazUpload()
    {
        foreach($this->tipos as $mime)
        {
            if(eregi($mime,trim($this->tipo)))
            {
                $cont++;
                if($this->tamanho >= $this->tamanhoMaximo)
                $this->erro("Tamanho excedido.<br>Máximo permitido: ".ceil($this->tamanhoMaximo/1024)."kb");
                else
                $this->copia($mime);
            }
        }
        if($cont==0)
        echo "Arquivo inválido!";

    }#fecha fazUpload();

}#fecha classe;

?>

onde esta o erro?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O upload repetido está acontecendo com arquivos RAR?

Provavelmente o erro está aqui:

foreach($this->tipos as $mime)
        {
            if(eregi($mime,trim($this->tipo)))
            {

Como o array tipos tem dois registros de RAR, ele envia duas vezes. Uma opção, é simplificar o code, removendo o foreach e if. Dá uma olhada na função in_array

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...