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

Application/rar não funciona no upload


iagouilian

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

fiz um script pra ver como ele estava reconhecendo o arquivo

e ele me deu application/octet-stream

coloquei ele no upload.php, mas n deu

n depende do server?

Olha como ta:

<?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 $lg;

    var $novoNome;

    
    function upload($arquivo)
    {
        $this->arquivo = $_FILES['arquivo']['name'];
        $this->tamanho = $_FILES['arquivo']['size'];
        $this->tipo    = $_FILES['arquivo']['type'];
        $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).".".$mime;
    }#fecha novoNome();

    function copia($tipo)
    {
        if($this->arquivo)
        {
            $this->lg2 = $_POST["lg"];
            $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));
        }
    }#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;

?>

Editado por iagouilian
Link para o comentário
Compartilhar em outros sites

  • 0

coloquei pra aceita tudo

mas agora ele esta fazendo o upload duas vezes

<?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;

?>

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