Jump to content


Photo

Avatar Aleatório Com Php


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

#46 EPAMIN0NDAS

EPAMIN0NDAS

    Turista

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

Posted 09/07/2004, 12:08

Olá.. gostaria da indicação de algum servidor FREE que aceite Galeria/Biblioteca GD. Por favor, ele tem que ser free. =)
O Lycos aceita, porém, o avatar não funciona em todos os momentos.

Espero respostas..

Abraços,
Epaminondas

[ HTML || CSS || Javascript || Fireworks || Flash || ASP ||
Flash || Visual Basic || Java || J2ME || Delphi || Hardware ]


#47 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 09/08/2004, 15:28

Bem exite jeitos mais simples de se obterem os resultados ...
Você pode mudar o "Content-Type" do servidor e fazer com que gif's sejem lidas como *.php e assim fazer um código simples sem o uso da GDLib comoe exemplo...

<?php
// Lista todas as imagems em um Array (Prontas)
$image = Array();
$image[] = "http://site.com/avatar/img.gif";
$image[] = "http://site.com/avatar/img.jpg";
$image[] = "http://site.com/avatar/img.jpg";
$image[] = "http://site.com/avatar/img.png";
// Seleciona e envia
srand((double) time() * 10000000);
$exibir = $image[rand('0',  (count($image) - 1))];
// header('Content-Type: image/[EXT]'); - Opcional dependendo do serve.
header('Location: ' . $exibr);
?>


#48 Klaus

Klaus

    @ ubuntu jaunty

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

Posted 09/08/2004, 15:30

Claro... Desde que você não queira mais usar GIFs em seu site...
Klaus Paiva
Conheça também: Taperás

#49 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 10/08/2004, 11:33

Claro... Desde que você não queira mais usar GIFs em seu site...

Nào nescessariamente pois o PHP só le onde tem tags PHP se não tiver nenhum ele vai enviar o código fonte do gif normalmente o que pode ocorrer é demorar um pouco mais...

#50 Infonline

Infonline

    Normal

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

Posted 10/08/2004, 15:31

como deixo o fundo do php transparente ja que meus avatares sao transparentes no fundo e gostaria de deixar bonitin no forum!

#51 k0r0n

k0r0n

    Novato no fórum

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

Posted 01/09/2004, 10:55

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 ?

#52 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 01/09/2004, 11:26

Talvez uma das imagens não exista ou não pode ser carregada.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#53 Cristiano Galdino

Cristiano Galdino

    Dark Defender

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

Posted 02/09/2004, 00:35

Solução pra quem não pode (ou não quer) usar GD:
http://cristiano.galdino.net/avatar/
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#54 guilhermefm

guilhermefm

    Normal

  • Usuários
  • 119 posts
  • Sexo:Não informado
  • Localidade:São Marcos - RS
  • Interesses:Informática<br>Futebol<br>Esportes em Geral

Posted 02/09/2004, 17:47

fiz com o script do Cristiano e funcionou legal.
Mt bom esse tópico!!

#55 juseh

juseh

    Normal

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

Posted 28/10/2004, 21:34

muito bom mesmo, mas eu só quero saber como fazer com o sistema do thiago sem q ele altere o tamanho das imagens (pra fazer assinaturas aleatórias)
Conheça o mais novo redirecionador da internet brasileira!
www.vaila.net
O seu endereço na internet, de graça.

#56 Cristiano Galdino

Cristiano Galdino

    Dark Defender

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

Posted 30/10/2004, 18:31

O exemplo que postei não altera. :]
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#57 juseh

juseh

    Normal

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

Posted 31/10/2004, 00:37

O seu tb ficou muito bom, mas pra mim não servia pq ele mudava o endereço na hora de abrir a imagem. Então eu alterei o codigo do thiago e fiz isso:

$largurao = imagesx($im);
    $alturao  = imagesy($im);
    $alturad =  imagesy($im);
    $largurad = imagesx($im);
    $nova    = imagecreatetruecolor($largurad,$alturad);
continua...

Funcionou certinho, vejam:
Assinatura
Avatar

Como vcs podem ver, está hospedado no Hcerto.com, entaum eu recomendo pro epaminondas que ta precisando de um server com GD ;)
Conheça o mais novo redirecionador da internet brasileira!
www.vaila.net
O seu endereço na internet, de graça.

#58 Young Master

Young Master

    Turista

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

Posted 28/11/2004, 10:05

eu não tô conseguindo...... :(

#59 Klaus

Klaus

    @ ubuntu jaunty

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

Posted 28/11/2004, 10:14

Se não falar qual é seu problema, ninguém vai poder te ajudar.
Klaus Paiva
Conheça também: Taperás

#60 KrEmEr

KrEmEr

    www.radiointeract.org

  • Usuários
  • 145 posts
  • Sexo:Não informado
  • Localidade:Cruzeiro - SP
  • Interesses:&quot;Queria ser um baseado&lt;br&gt; Pra nascer em seus dedos,&lt;br&gt; Pra morrer em tua boca&lt;br&gt; E pra fazer tua cabeça.&quot;&lt;br&gt;&lt;br&gt; (Bob Marley)

Posted 28/11/2004, 18:23

Ai galera eu naum to conseguindo.... tipow.. eu naum entendo nd de php.... o meu negocio eh so design... hehehe...
tipow.. eu to fazendo assim, foi o q eu entendi....
primeiro eu fui la no servidor, o meu eh o miarroba.com, e crie uma pasta index.png... ai depois eu fui e criei no bloco de notas o .htaccess com o codigo que foi dado... mais esse ta salvando como .txt, ta certo???
depois eu coloquei no bloco de notas tbm o codigo q o tiago passo:
<?
   $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);
?>

e salvei como avatar.php
tipow... depois joguei tudo no servidor.... mais qndo vai passar o arq avatar.php... da erro... pq será?... em q eu to errando??... por acaso era assim q era pra fazer??....
ai galera abraços... t+...


:D :) :( :angry:
Ricardo Odorizi Olivas
Nick: -=| K®ëMë® |=-
Email: ricardoolivas@osite.com.br
Icq: 178211495
Msn: "Use o forum pra tirar dúvida."




0 user(s) are reading this topic

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

IPB Skin By Virteq