Jump to content


k0r0n's Content

There have been 1 items by k0r0n (Search limited from 29/03/2023)


Ordernar por                Order  

#436830 Avatar Aleatório Com Php

Posted by k0r0n on 01/09/2004, 10:55 in Artigos, Dicas e Tutoriais de PHP

Alguns já devem ter reparado que alguns membros no fórum, possuem avatares aleatórios, ou seja, cada vez que a página é atualizada, é mostrado um novo avatar. Ainda não entendeu? Veja meu avatar... Agora pressione F5 e veja-o novamente.

Se você visualizar a extensão da imagem, verá que é PNG. PNG normalmente só produz imagens estáticas, por isso o avatar é feito em PHP!

Agora você deve estar se perguntando... Mas como??? O fórum não aceita arquivos .php! Verdade... Isso se você não enganar ele claro... :D

Vamos ao que interessa! Para que um arquivo PNG seja interpretado como PHP, você deve criar um arquivo chamado ".htaccess", isso mesmo, somente a extensão e nenhum nome! Dentro dele adicione o seguinte comando:

ForceType application/x-httpd-php


Coloque no servidor este arquivo, dentro de uma pasta separada preferencialmente, isto porquê este arquivo tornará qualquer extensão dentro da pasta como arquivo do tipo PHP. Legal não? Pensando nisso... Você pode criar páginas em PHP com extensão ASP e confundir um pouco os visitantes... :D

Com o ".htaccess" já no servidor, crie um arquivo PHP normal, que crie duas ou mais imagens... O código do meu avatar está abaixo:

<?php
  $imagens = Array ("http://klaus.pointma...ar/squallA.jpg", "http://klaus.pointma...ar/squallB.jpg", "http://klaus.pointma...ar/squallC.jpg", "http://klaus.pointma...ar/squallD.jpg");
  $random = rand (0, 3);
  header ("Content-type: image/png");
  $imagem = imagecreatefromjpeg ($imagens[$random]);
  $largura = imagesx ($imagem);
  $altura  = imagesy ($imagem);
  $nova = imagecreatetruecolor ($largura, $altura);
  imagecopyresized ($nova, $imagem, 0, 0, 0, 0, $largura, $altura, $largura, $altura);
  imagepng ($nova);
  imagedestroy ($nova);
  imagedestroy ($imagem);
?>


Não entendeu alguma parte do código?

Envie para a mesma pasta do arquivo anterior e pronto! O exemplo acima trabalha com quatro imagens, você pode aumentar ou diminuir se quiser. Preferencialmente todas as imagens devem ter o mesmo tamanho, pois o fórum grava o tamanho da primeira a ser exibida, fazendo com que se distorçam as demais...

Eventuais dúvidas, devem ser tiradas neste tópico.

Creditos:
Thiago RSL
Fórum PHP Freaks

eu fiz igualzim tu... e deu certo.. apreto F5 e muda... mas as vezes aparece esse erro :


<br />
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>6</b><br />
<br />
<b>Warning</b>: imagesy(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>7</b><br />
<br />
<b>Warning</b>: imagecreatetruecolor(): Invalid image dimensions in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: imagecopyresized(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>9</b><br />
<br />
<b>Warning</b>: imagepng(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>10</b><br />
<br />
<b>Warning</b>: imagedestroy(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>11</b><br />
<br />
<b>Warning</b>: imagedestroy(): supplied argument is not a valid Image resource in <b>/home/soldatbr/public_html/avatar/index.php</b> on line <b>12</b><br />

Oo ?




IPB Skin By Virteq