Jump to content
Fórum Script Brasil
  • 0

Problemas Com Thumbails


Guest --Rodrigo --
 Share

Question

Guest --Rodrigo --

Bom pessoal já tentei de tudo mas não da certo, tenho um script de upload de imagem, ele funciona que é uma beleza, mas eu queria colocar pra ele criar thumbails na hora do upload, porem não da certo esse é codigo:

<?
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 106883;
// Largura máxima (pixels)
$config["largura"] = 1024;
// Altura máxima (pixels)
$config["altura"]  = 768;

// Formulário postado... executa as ações
if($arquivo)
{  
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // 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";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

        echo "<a href=\"foto.html\">Fazer Upload de Outra Imagem</a>";
    }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];

        // Caminho de onde a imagem ficará
        $imagem_dir = "fotos/" . $imagem_nome;

        // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);



        echo "Sua foto foi enviada com sucesso!";
    }
}
?>

eu queria saber como posso "integrar" esse parte de ele criar thumbails na hora do upload, desde já agradeço

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

cara um exemplo seria... o codigo abaixo é de um projeto meu

$thumb = $HTTP_POST_FILES['thumb']['tmp_name'];
define(MAX_WIDTH, 120);
define(MAX_HEIGHT, 82);

list($width, $height) = getimagesize($thumb);

$copia = ImageCreateFromJPEG($thumb);
$nova = ImageCreateTrueColor(MAX_WIDTH, MAX_HEIGHT); 

ImageCopyResized($nova, $copia, 0, 0, 0, 0, MAX_WIDTH, MAX_HEIGHT, $width, $height);


imagejpeg($nova, $dir_imagens . $nome_thumb, 55); //55 é a qualidade do thumb


ImageDestroy($copia);
ImageDestroy($nova);

calculo que já dá pra você ter uma base... qualquer duvida é só postar aqui que eu te ajudo...

abraço brother

Link to comment
Share on other sites

  • 0
Guest --Rodrigo --

Essa parte ai de criar os thumb's eu entendo o que eu não to conseguindo é fazer com que esse script crie thumb's e salve em outra pasta, eu já fiz a galeria toda, só está faltando essa parte de criação de thumbnails, me ajuda aew , to precisando muito desse sistema

t+

Link to comment
Share on other sites

  • 0

cara o codigo que eu te passei é exatamente pra criar thumbs... só que no caso akela variavel $thumb, que no meu script tah pegando de um upload, tu faz ele pegar do diretorio onde estao tuas fotos... o codigo que eu te passei vai ficar dentro de um FOR (ou while) que lê teu diretorio de imagens e cria o thumb pra cada imagem... eu não lembro exato o comando pra ler arkivos, mas acredito que é disso que você precisa ai... acho que é isso, se entendi direito teu problema... continua postando, ai a gente vai ajeitando...

abraço brother

Link to comment
Share on other sites

  • 0
Guest --Rodrigo --

Legal, eu queria fazer para que o thumbnail já fosse criado na hora que o usuário fizesse upload da imagem, mas vou fazer igual você falo para ele gerar na hora que as imagens forem abertas

mas não vai perder desempenho né ?

vlw

Link to comment
Share on other sites

  • 0

então, esse codigo eu uso pra fazer o thumb já quando o cara faz upload... eu falei akilo porque você disse que já tinha a galeria de fotos e precisava só dos thumbs... pra você faze ele gera o thumb na hora do upload faz assim oh...

$thumb = $_FILES['foto']['tmp_name'];
$nome_thumb = $_FILES['foto']['name'];
$nome_thumb = "thumb_" . $nome_thumb; //o nome do thumb vai ter o prefixo thumb_ ... se kiser muda
$dir_imagens = "fotos/"; //diretorio onde ficam as imagens

define(MAX_WIDTH, 120); //aqui vai gerar um thumb 120X82... adapta pra tua necessidade... você pode fazer algo proporcional
define(MAX_HEIGHT, 82);

list($width, $height) = getimagesize($thumb);

$copia = ImageCreateFromJPEG($thumb);
$nova = ImageCreateTrueColor(MAX_WIDTH, MAX_HEIGHT);

ImageCopyResized($nova, $copia, 0, 0, 0, 0, MAX_WIDTH, MAX_HEIGHT, $width, $height);

imagejpeg($nova, $dir_imagens . $nome_thumb, 55); //55 é a qualidade do thumb

ImageDestroy($copia);
ImageDestroy($nova);

é isso que você precisa, já mudei conforme tuas variaveis... praticamente é colar esse codigo no teu e testar...

assim ele gera o thumb quando o cara faz upload...

falou brother

Link to comment
Share on other sites

  • 0

eu utilizei o script acima para gerar os thumbs automaticamente quando o usuário fizer upload da imagem, mas dá o seguinte erro

Warning: imagejpeg() [function.imagejpeg]: Unable to open './midia/fotos/thumb_Sample_Picture02.jpg' for writing: No such file or directory

bom, resolvi, era o nome da pasta que estava errada, rs

[]s

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...