Versão: 20080520
Requisito: PHP5, GD2
Funcionalidade: Classe para o envio de imagens com possibilidade de gerar miniaturas utilizando métodos de crop e marca d'água.
Exemplos: Utilizando Crop, Utilizando Marca d'água (Caravelas, BA)
Comentários: Mais um dentre os muitos scripts encontrados na web para upload de imagens e para gerar miniaturas. A documentação não é lá grande coisa mas dá pra entender, procurei deixar o código bem limpo para o bom entendimento. Livre para compartilhar e adaptar.
Segue abaixo um exemplo de utilização:
<?php
include("upload.class.php");
// Instanciando a classe passando $_FILES e uma sugestão de nome das imagens geradas.
$obj = new Upload($_FILES['arquivo'], "upload_test");
// Vetor de segurança, o qual será utilizado para fazer a verificação da imagem submetida.
// Estes são as quatro possibilidades de chave deste vetor. Nenhuma delas é obrigatória.
$arr_security = array(
'min_dimension' => 480,
'max_dimension' => 1024,
'mime' => array('image/jpg', 'image/jpeg'),
'max_size' => 614400
);
// Verificando se a imagem passará pelo método de segurança.
if( !$obj->security($arr_security) )
{
echo "<pre>";
print_r($obj->getError());
echo "</pre>";
}
else
{
// Criando uma miniatura com os quatro lados iguais.
$obj->createSquareThumb(100, "uploads");
// Criando uma miniatura proposrcionalmente menor.
$obj->createThumb(640, "uploads", '_thumb', "marcadagua.png");
// Mesma imagem submetida salva no diretório.
$obj->send("uploads");
}
?>Classe em ação: http://pauloandreget...om.br/thumb.php
Os dois vetores exibidos neste exemplo após o upload representa a superglobal $_FILES e as características da imagem temporária.
Thas all folks! Não é uma brastemp mas funciona!
Contribuição
Em especial agradeço ao bimonti pela contribuição na parte de crop. ![]()












