Classe Imgtool (upload, redimensiona e converte formatos)
A classe Imgtool utiliza PHP GD para redimensionar mantendo proporção, converter formatos e realizar upload de arquivos de imagens.
Upload
upload ( file origem , string destino [ , bool nome_aleatorio = true ] )
- origem: precisa estar no array $_FILES
- destino: pode ser um diretório ou o nome do arquivo diretamente
- nome_aleatorio: se o destino for um diretório, diga se prefere utilizar um nome aleatório para o arquivo ou o nome original do mesmo
- retorno: -1 se não houve arquivo enviado. -2 se a extensão é inválida. nome do arquivo enviado em caso de sucesso
Converter
convert ( string formato_destino )
- formato: pode ser jpg, png, bmp ou gif
Redimensionar
resize ( int max_largura, int max_altura )
Dicas:
Exibindo imagem ao invés de salvar
Você pode exibir a imagem diretamente, ao invés de salvá-la.
Ao invés de:
Use (a classe se encarrega de enviar os headers):
Acelere o setinput
Ao invés de:
Você pode fazer simplesmente:
Desenvolvido por mim (Jefrey Sobreira Santos
Bugs ou sugestões: jefreysobreira[at]gmail[dot]com
Upload
upload ( file origem , string destino [ , bool nome_aleatorio = true ] )
- origem: precisa estar no array $_FILES
- destino: pode ser um diretório ou o nome do arquivo diretamente
- nome_aleatorio: se o destino for um diretório, diga se prefere utilizar um nome aleatório para o arquivo ou o nome original do mesmo
- retorno: -1 se não houve arquivo enviado. -2 se a extensão é inválida. nome do arquivo enviado em caso de sucesso
<form method="post" action="upload.php" enctype="multipart/form-data"> <input type="file" name="imagem" /> <input type="submit" /> </form>
<?php include 'class/imgtool.class.php'; $upload = imgtool::upload($_FILES['imagem'] if($upload==-1) echo 'Por favor, escolha um arquivo.'; elseif($upload==-2) echo 'Arquivo inválido.'; else echo 'Arquivo enviado e salvo em: '.$upload;
Converter
convert ( string formato_destino )
- formato: pode ser jpg, png, bmp ou gif
$img = new imgtool; $img->setinput('imagens/entrada.png'); $img->setoutput('imagens/saida.jpg'); $img->convert('jpg'); $img->save();
Redimensionar
resize ( int max_largura, int max_altura )
$img = new imgtool; $img->setinput('imagens/entrada.png'); $img->setoutput('imagens/saida.png'); $img->resize(640, 480); // a proporção será mantida automaticamente $img->save();
Dicas:
Exibindo imagem ao invés de salvar
Você pode exibir a imagem diretamente, ao invés de salvá-la.
Ao invés de:
$img->setoutput('imagens/saida.jpg'); $img->save();
$img->show();
Acelere o setinput
Ao invés de:
$img = new imgtool; $img->setinput('imagens/entrada.jpg');
$img = new imgtool('imagens/entrada.jpg');
Desenvolvido por mim (Jefrey Sobreira Santos
Bugs ou sugestões: jefreysobreira[at]gmail[dot]com
Data | Autor | Changelog | Download |
---|---|---|---|
19/01/2014 12:41pm | Jefrey | - | Versão 1.0 |
Novo Comentário: