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

Criar miniatura da imagem em upload


Marlon Douglas

Pergunta

Olá Pessoal.

Eu estou criando um sistema de upload, já conseguir mostrar a imagem no final, código HTML, código para forum, e até botão de download.

Então, o download, é um arquivo .php, que tipo fica assim pra fazer o download "download.php?file=imagem".

Eu gostaria de um tal arquivo "miniatura.php" que fosse do mesmo jeito do download para gerar a mini.

Vou explicar melhor.

Gostaria de um arquivo em PHP para a mini, que fosse tipo o do download.php que citei

Bem, espero respostas. Agradeço.

//Para quem quiser o código(ainda nem terminado)

index.php

<?php

      if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
         $img = $_FILES['img'];
         $pasta  = 'img/';
         $ok = 0;
$config = array();
// Tamano m�ximo da imagem, em bytes
$config["tamanho"] = 1068830;
// Largura M�xima, em pixels
$config["largura"] = 3;
// Altura M�xima, em pixels
$config["altura"] = 2;
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem n�o deve ultrapassar " . $config["largura"] . " pixels";
        }
        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem n�o deve ultrapassar " . $config["altura"] . " pixels";
        }
 /*** Gerando a miniatura *****/
        //O primeiro passo é gerar uma cópia do original para isto é necessário pegar a largura e altura.
        list($intLargura, $intAltura) = getimagesize($pasta . $fileFoto['foto']["name"]);
        //Setando altura e largura da miniatura
        $intAlturaMin   = 80;
        $intLarguraMin  = 80;
 /*** Recebe os arquivos do formulario ***/
$fileFoto       = $_FILES; 
        //Criando um arquivo de imagem em branco com os parametros de largura x altura. A unidade de medida é em pixels.
        $binThumb       = imagecreatetruecolor($intAlturaMin, $intLarguraMin);
        //Transformando a imagem em binário para fazer o recorte e gerar a miniatura.
        $binImagem      = imagecreatefromjpeg($pasta . $fileFoto['foto']["name"]);

        //**** Gerando o thumb e deixando na memoria do servidor ****/
        imagecopyresampled($binThumb, $binImagem, 0, 0, 0, 0, $intLarguraMin, $intAlturaMin, $intLargura, $intAltura);

        //Salvando a imagem em disco e definindo a qualidade do thumb. Os parametros são: imagem, diretorio e nome do arquivo(O local de destino deve possuir permissão de escrita), [qualidade]
        imagejpeg($binThumb, "peq_". $fileFoto['foto']["name"], 50);

        //Retirando o objeto da memoria
        imagedestroy($binThumb);
         $erro = 0;
         $contar = count($img['name']);
         for($i = 0; $i < $contar; $i++){
            $nome = $img['name'][$i];
            $tmp  = $img['tmp_name'][$i];
    $nomeAleatorio = substr(md5(uniqid(time())), 0, 5);
            if(!empty($nome)){
               if(move_uploaded_file($tmp, $pasta . $nomeAleatorio)){


                  }
            }
         }
   }
   
   
?>
<center>
<div style="border:1px dashed #AAAAAA; height:100%; width:530px;">
<?php
      

         echo '<img border="0" alt="Img" src="img/'.$nomeAleatorio.'"/>';
         echo '<br />';
         echo '<b>LINK</b>';
         echo '<br />';
         echo '<input type="text" value="http://marlonico.xp3.biz/outros/img/'.$nomeAleatorio.'" readonly="" style="border: 1px solid rgb(219, 219, 219); padding: 0px; width: 170px; height: 18px; background-color: rgb(240, 240, 240); font-family: tahoma,arial; font-size: 12px;" name="counter-hits"/>';
         echo '<br />';
         echo '<b>Download</b>';
         echo '<br />';
         echo '<a href=/outros/download.php?file='.$nomeAleatorio.'><img title="Download Now!" alt="(download)" border="0" src="http://marlonico.xp3.biz/outros/2/3/images/download_arrow.gif"/></a>';
         echo '<br />';
         echo '<b>HTML</b>';
         echo '<br />';
         echo '<input type="text" value="&lt;img src=&quot;http://marlonico.xp3.biz/outros/img/'.$nomeAleatorio.'&quot; border&quot;0&quot; /&gt;" readonly="" style="border: 1px solid rgb(219, 219, 219); padding: 0px; width: 170px; height: 18px; background-color: rgb(240, 240, 240); font-family: tahoma,arial; font-size: 12px;" name="counter-hits"/>';
         echo '<br />';
         echo '<b>FORUM BB</b>';
         echo '<br />';
         echo '<input type="text" value="[img=http://marlonico.xp3.biz/outros/img/'.$nomeAleatorio.']" readonly="" style="border: 1px solid rgb(219, 219, 219); padding: 0px; width: 170px; height: 18px; background-color: rgb(240, 240, 240); font-family: tahoma,arial; font-size: 12px;" name="counter-hits"/>';
         echo '<br />';
         echo '<img border="0" alt="Img" src="img/'.$binThumb.'"/>';


   

?>

</div>
</center>

Espero respostas..

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Cara, obrigado por responder. Mas infelizmente parece que o código da mini está com erro.

Ele aparece a seguinte mensagem.

Parse error: syntax error, unexpected ':' in /home/vhosts/marlonico.xp3.biz/outros/mini.php on line 6

EU acho que tenho que "aprimorar" o código para o do meu upload. Vou tentar :)

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

  • 0

Amigo baixe esse script em AJAX pronto

LINK DO DOWNLOAD http://phpbrasil.com/script-download/3iuhGpdLm1s7/6447

e muito eficiente, tem as seguintes funções

-MÚLTIPLOS UPLOAD

-SALVA A IMG EM UMA PASTA , E GERA UMA MINIATURA DESSA IMAGEM E SALVA EM OUTRA PASTA

-SALVA AS IMAGENS EM UM BANCO DE DADOS

-TEM BARRA DE PORCETAGEM, E VELOCIDADE EM KBPPS DO UPLOAD

PRINT DO SCRIPT EM EXECUÇÃO

eb124f1c01.jpg

eu baixei , eu uso até hoje e ótimo!

link de outras versões (http://phpbrasil.com/script/3iuhGpdLm1s7/upload-com-ajax)

recomendo a 2.05a funciona sem nenhum erro e é a mais atual postada

Editado por C0Y073
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,9k
×
×
  • Criar Novo...