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

Problemas Com Thumbails


Guest --Rodrigo --

Pergunta

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 para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...