Jump to content


Photo

Avatar Aleatório Com Php


  • Faça o login para participar
91 replies to this topic

#1 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 28/04/2004, 08:25

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
Klaus Paiva
Conheça também: Taperás

#2 rodrigo_kouti

rodrigo_kouti

    www.todosaqui.net

  • Usuários
  • 222 posts
  • Sexo:Não informado
  • Interesses:gosto de mulher e quero aprender PHP mysql

Posted 29/04/2004, 03:26

legal hein, essa ai eh nova pra muitas pessoas hein..... hehe tenho muitas duvidas depois preciso de juda falows
Vende dominios .com ou .net a R$30,00 reais, sem nenhuma taxa extra, compre já o seu pelo preço mais barato do brasil

interessados mande MP

#3 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 29/04/2004, 13:54

Klaus magavilha esse tuto :P

Já não aguentava mais me perguntaram sobre como fiz o meu :D

Estava ficando :wacko:

Mais vamos ao que interresa eu sou preguisoço e fiz o codgio do meu avatar muito parecido com o do Klaus só que esse meu ele pega qualquer imagem e de uma pasta que esteja abaixo dele eu coloquei o meu como avatar ai pasta jogar as imagens nela e pronto ele randomiza sozinho isso é tão bom nem dá trabalho :D

Vou colocar aqui para quem quiser usar


PHP
<?
   $dir
="avatar/";
   $dir2=opendir($dir);
   $cont=0;
   while($res=readdir($dir2)){
   $res2=explode(".",$res);
   $tipo=$res2[1];
   if($tipo=="jpg" || $tipo=="gif" || $tipo=="GIF" || $tipo=="JPG" || $tipo=="png" || $tipo=="PNG"){
   $sortea[$cont]="$dir/$res";
   $cont++;
   }
   }
   $maximo=count($sortea)-1;
   $imagem=$sortea[rand(0,$maximo)];
   
   header
("Content-type: image/png");
   $tipo2=explode(".",$imagem);
   if($tipo2[1]=="GIF" || $tipo2[1]=="gif"){
   $im=imagecreatefromgif($imagem);
   } elseif($tipo2[1]=="JPG" || $tipo2[1]=="jpg" || $tipo2[1]=="JPEG" || $tipo2[1]=="jpeg"){
   $im=imagecreatefromjpeg($imagem);
   } elseif($tipo2[1]=="PNG" || $tipo2[1]=="png"){
   $im=imagecreatefrompng($imagem);
   }
   $largurao = imagesx($im);
$alturao  = imagesy($im);
$alturad =  98;
$largurad = 98;
$nova     = imagecreatetruecolor($largurad,$alturad);
imagecopyresized($nova,$im,0,0,0,0,$largurad,$alturad,$largurao,$alturao);
   imagepng($nova);
   imagedestroy($nova);
imagedestroy($im);
?>


Ou seja basta fazer salva esse arquivo como quiser usar o .htaccess que esta no do Klaus e criar uma pasta avatar no local do arquivo e colocar lá as fotos que quer randomizar e pronto esta feito seu avatar :D

Edição feita por: thiago_rsl, 23/05/2004, 18:05.


#4 BrunoWD

BrunoWD

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado
  • Localidade:Brasília

Posted 01/05/2004, 18:47

muitooooo loco. gostei!!! Parabens....

Edição feita por: BrunoWD, 01/05/2004, 18:49.


#5 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 01/05/2004, 19:29

Amigo,
muito dahora...
e fácil tbm!



Vlw Klaus! (y)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#6 BrunoWD

BrunoWD

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado
  • Localidade:Brasília

Posted 01/05/2004, 20:46

tipow... em alguns servidores nçao dá pra botar no ftp o arquivo .htacces. Ai nao funfa..

#7 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 03/05/2004, 12:20

tipow... em alguns servidores nçao dá pra botar no ftp o arquivo .htacces. Ai nao funfa..

Olha não sei ao certo mais acontce de ele não ser listado no programa de ftp isso aocnteceu com o meu e vc só vai ver ele se entrar pélo painel de controle e entrar na pasta ai vc consegue ver ele fora isso não ;)

#8 paulinho_ocz

paulinho_ocz

    Turista

  • Usuários
  • 46 posts
  • Sexo:Não informado

Posted 04/05/2004, 01:37

Bem maneiro isso!! (y)
Nome: Paulo Henrique
Apelido: Paulinho
Idade: 16 Anos
Cidade: Osvaldo Cruz - SP
ICQ: 169639705
MSN: paulinho_ocz@hotmail.com
Site: -> AgitOcz <-


[++++++++++++++++++++++++++]

Agora é moda usar letrinhas pequenas na assinatura, e escrever um monte de babozeiras, se todo mundo tem pq eu naum iria ter, rs
eu tbm aderi a essa moda, jah que tem uns kras q naum tem oq fazer e fikam lendo essas babozeiras q eu toh escrevendo, kakakakaka
Eu naum tenhu mais oq escreve aki entaum é por isso q eu toh falando isso, haahahahaha


[++++++++++++++++++++++++++]

#9 PerFecT_BoY

PerFecT_BoY

    Turista

  • Usuários
  • 47 posts
  • Sexo:Não informado

Posted 08/05/2004, 21:50

sh0w essa parada ... ! nem tow mto ligadow a PHP ... vow tentar me aproximar mais
<script language="HTML" design="server">

Sub Application_OnStart()


Application("Nome") = "Bruno Rubi"
Application("Nick") = "PerFecT_BoY"
Application("E-mail") = "brunorubi@terra.com.br"
Application("Msn") = "bruno_rubi@hotmail.com"

End os secion ! Please :

<select-this>Pesquisa Clike Aki</select-this>

</script>

#10 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 13/05/2004, 01:27

Não precisa de .htaccess, simplesmente crie uma pasta com o nome "avatar.png", "imagem.gif", "quaquer_coisa.jpg" e coloque o arquivo index.php ou default.php ( de acordo com seu servidor ) dentro da pasta e pronto.

Mais em http://cristiano.galdino.net/avatar/.

Esse meu avatar aí tinha umas 11 mil visitas mas resetei hoje.

Ps.: Se eu tivesse patenteado a idéia estaria ganhando mó grana, mas em breve teremos novidades :-þ
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#11 x23

x23

    Quem sabe, voltando... :)

  • Usuários
  • 670 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 13/05/2004, 10:39

muito legal cara... parabéns pelo tuto =]
Eu chava mto estranho o avatar do thiagorsl pq mudava de imagem td hora, agora q aprendi, vo faze uns bem locos...

Falou e valeu
antigo -= |LF| =-, ex-moderador e ex-monitor.

#12 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 13/05/2004, 12:16

Ps.: Se eu tivesse patenteado a idéia estaria ganhando mó grana, mas em breve teremos novidades :-þ

:D Mas ensina "nóis" desta vez, hein!
Klaus Paiva
Conheça também: Taperás

#13 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 13/05/2004, 14:51

Esquenta não que eu ensino. :D
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#14 Miranda

Miranda
  • Visitantes

Posted 13/05/2004, 15:01

Cristiano, o servidor deve suportar biblioteca GD neh?
Qual é o lance, nao entendo isso.
Botei o codigo do TRSL no bloco de notas e salvei como avatar.png e botei na pasta principal, e criei uma pasta chamada avatar e nela coloquei as figuras, + nao roda, quando eu abro o avatar.png ele mostra o codigo e nao as figuras, rodo o servidor daqui de casa, nao sei pq isso acontece =(
Se tiver, eu baixei o biblioteca GD e coloquei na pasta do easyphp + nao sei como intera-lo

Edição feita por: Miranda, 13/05/2004, 15:02.


#15 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 13/05/2004, 15:16

Cria uma pasta com o nome "index.png".

Dentro dessa pasta você cria um arquivo com o nome "index.php" e coloca o código que o Thiago passou seguindo as instruções de uso dele.
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”





7 user(s) are reading this topic

0 membro(s), 7 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq