Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andrey Knupp Vital

Avatar Aleatório com PHP

Recommended Posts

Olá gente, por um acaso, quis voltar a usar avatar aleatório aqui no fórum .. então, segue o código que fiz pra imagens png ..

Qualquer implementação pra outros formatos, fica por conta de vocês aí ..

<?php
     ob_start();
     ini_set( 'display_errors', 'On' );
     error_reporting( E_ALL | E_STRICT | E_DEPRECATED );
     $Iterator = new GlobIterator( sprintf( '%s/*.png', getcwd() ) );
     $i = 0;
     for( $Iterator; $Iterator->valid(); $Iterator->next() ){
          if( $Iterator->isFile() && !$Iterator->isDot() ){
              $Photos[ $i ] = $Iterator->getFilename(); 
              ++$i;
          }
     }
     $SelectedPhoto = $Photos[ rand( false, count( $Photos ) - 1 ) ];
     $Photo = imagecreatefrompng( $SelectedPhoto );
     imagealphablending( $Photo, true );
     imagefill( $Photo, false, false, imagecolorallocatealpha( $Photo, 0x000000 >> ~27, 0xFFFFFF << 9, 0xFF, 127 ) );
     imagesavealpha( $Photo,true );
     imagepng( $Photo );
     imagedestroy( $Photo );
     header( 'Content-Type: image/png' );

 

Só não esqueçam que as imagens devem estar no mesmo diretório que o arquivo, pra funcionar, vocês devem criar

uma pasta com o nome 'qqrcoisa.png', então colocar esse script 'index.php', junto com as fotos dentro ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre quis saber como faziam isso, e agora tu me trouxe a solução. Vai virar modinha usar isso no fórum.

 

Valeu mais uma vez Andrey! Abraço! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fazia de uma forma mais simples :ermm:

 

Criava um diretório chamado avatar.png e jogava todos as imagens .png dentro, depois colocava o arquivo index.php com o seguinte código.

<?php
header( 'Content-type: image/png' );
$images = glob( './*.png' ); 
readfile( $images[ rand( false, count( $images ) -1 ) ] );
?>

 

Nunca tive problemas :lol:

 

Fica aí outra alternativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.