Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Castg! en 4 Octubre 2009, 07:54 am



Título: Avatar al azar
Publicado por: Castg! en 4 Octubre 2009, 07:54 am
hola estoy tratando de ver la posibilidad de ponerme un avatar que cambie cada vez que se recarge la web, siempre hablo de aca, del foro. yo esto lo quiero hacer desde hace bastante, pero de php no sabia nada y apra mi es php. pense que era imposible hasta que vie le de whk que cambia, nomas que eso es otra web, una suya. bueno yo habia pensado ene sto: pero como recien empiezo con php nose ni donde me conviene ponerlo, si esta bien:
Código
  1. <?php
  2. $avtr = 'imagenes/avatar.png'
  3. $avtr0 = 'imagenes/avatar0.png'
  4. $avtr1 = 'imagenes/avatar1.png'
  5. if file_exist ($avtr)
  6. if $avtr = $avtr0
  7. unlink($avtr);
  8. copy ($avtr1, $avtr);
  9. else
  10. unlink($avtr);
  11. copy ($avtr0, $avtr);
  12. ?>


Título: Re: Avatar al azar
Publicado por: AlbertoBSD en 4 Octubre 2009, 14:28 pm
Que tal, bueno en el foro ya se habia compartido esto buscalo WHK lo propuso y funciona bastante bien.

Saludos


Título: Re: Avatar al azar
Publicado por: Og. en 4 Octubre 2009, 16:10 pm
necesitas dar una cabezera para que el navegador sepa que la informacion de ese archivo .php lo debe tratar como una imagen

ejemplo:
Código
  1. header("Content-type: image/png");

despues puedes hacer un random y un eval a un archivo dependiendo del random

Saludos!


Título: Re: Avatar al azar
Publicado por: luiggy2 en 4 Octubre 2009, 16:30 pm
Aquí lo tienes:

http://foro.elhacker.net/php/te_aburre_cambiar_de_avatar_todos_el_tiempo-t242106.0.html (http://foro.elhacker.net/php/te_aburre_cambiar_de_avatar_todos_el_tiempo-t242106.0.html)


Código
  1. <?php
  2.  
  3. $extensiones = array('jpg','jpeg','gif','png','bmp','draw','svg','wmf');
  4. $directorio = './';
  5. $imagen_de_salva = base64_decode(
  6. "iVBORw0KGgoAAAANSUhEUgAAAAsAAAARCAYAAAAL4".
  7. "VbbAAAAQUlEQVQokWP8//8/A7GAiWiVpCpmQRdgZG".
  8. "SEu+v///+MWBUjKyLojP///zOim4RTMTFgVPEgVMw".
  9. "IS8/40gYsGQAA4yQVHW/Zg08AAAAASUVORK5CYII=");
  10.  
  11. $DIR = dir($directorio);
  12. while($RES = $DIR -> read()){
  13. if(filetype($RES) == 'file'){
  14.  $EXT = explode('.',$RES);
  15.  $EXT = $EXT[count($EXT)-1];
  16.  foreach($extensiones as $VAL){
  17.   if(strtolower($EXT) == strtolower($VAL)){
  18.    $IMG[count($IMG)] = $RES;
  19. $EXTS[count($EXTS)] = $EXT;
  20.   }
  21.  }
  22. }
  23. }
  24.  
  25. $VAR = rand(0,(count($IMG)-1));
  26. if(!$EXTS[$VAR]){
  27. $EXTS[$VAR] = 'jpg';
  28. }
  29.  
  30. header('Content-Type: image/'.$EXTS[$VAR]);
  31. header('Cache-Control: no-store, no-cache');
  32. header('Pragma: no-cache');
  33. if(!$abrir = @fopen($directorio.$IMG[$VAR], 'r')){
  34. die($imagen_de_salva);
  35. }else{
  36. echo fread($abrir, filesize($directorio.$IMG[$VAR]));
  37. fclose($abrir);
  38. }
  39.  
  40. ?>



SaludoS!!


Título: Re: Avatar al azar
Publicado por: Castg! en 5 Octubre 2009, 00:12 am
Muchas gracias me ayudo mucho, esto quedo asi:

Código
  1. <?php
  2. header('Content-Type: image/png');
  3. $num = rand(0,1);
  4. $arch = 'imagenes/avatar'.$num.'.png';
  5. $abrir = @fopen($arch, 'r');
  6. echo fread($abrir, filesize($arch));
  7. fclose($abrir);
  8. ?>