De papo pro ar!


Salvando imagem gerada pelo flash.

Enviado em Programação por felipemorais em Outubro 21, 2008
Tags: , , ,

Recentemente estive envolvido em dois projetos onde o usuário do site poderia criar um avatar e salvar a imagem gerada pelo flash.

Para isso foi usado um script pronto para exportar um jpg com Flash e PHP, que muita gente deve utilizar. O que grande parte do pessoal que usa não sabe é o que fazer para salvar essa imagem em uma pasta no servidor.

No tutorial acima ele mostra a imagem, mas não salva porém, dá o caminho das pedras. A função imagejpeg pode e deve ser usada nesse caso para salvar a imagem gerada. Para isso basta alterar um pouco o código desta página, onde está:

// print out the correct header to the browser
header("Content-type:image/jpeg");
// display the image
imagejpeg($img, "", 90);
?>

Use algo como:

$nome = strtolower(microtime());
$nome = str_replace( '.', '', $nome );
$nome = str_replace( ' ', '', $nome );
$nome .= '.jpg';
$src = "/images/avatar/".$nome;
imagejpeg($img, $_SERVER["DOCUMENT_ROOT"].$src, 90));
}
?>
<img src="http://www.urldosite.com.br" />

Comentando o código:
A variável “$nome” é usada para gerar um número randômico que será usado como nome do arquivo.
Depois é acrescido a extensao “.jpg” indicando o formato da imagem que foi gerada.
A variável “$src” guarda o caminho da pasta onde a imagem será salva e o nome da imagem.
Na função “imagejpeg” passamos os parâmetros para que a imagem seja salva no caminho especificado na variável “$src” e com qualidade de 90.
Fechamos o bloco de instruções PHP com “?>” e finalmente mostramos a imagem para o usuário usando a tag <img> do HTML.

É isso, Namastê!