Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: TeKNo dUKe en 18 Mayo 2008, 21:12 pm



Título: Avatar / Signature Randomicos
Publicado por: TeKNo dUKe en 18 Mayo 2008, 21:12 pm
Necesito ayuda para hacer un avatar randomico para foros de phpbb2, cuando ingreso la direccion de una imagen hosteada quiero que esta me devuelva una imagen randomica, cada vez que se vea la imagen esta tendria que cambiar.
De forma que

http://www.host.com/imagen.jpg

sea distinta cada vez que la refrescamos y ademas que si A y B piden la imagen esta sea distinta para A y para B.

Espero se haya entendido y me puedan ayudar.-


Título: Re: Avatar / Signature Randomicos
Publicado por: dimitrix en 18 Mayo 2008, 21:55 pm
Vamos a ver, no he entendido la mitad, pero aquí tienes un código que te sale una imagen aleatoria dentro de la carpeta que especifiques:

Código
  1. <?
  2. $font="./h.TTF";
  3. /* So */
  4. $dir="./imagenes/"; //t
  5. $types=array('jpg'=>'jpeg','jpeg'=>'jpeg','pjpeg'=>'jpeg','png'=>'png','gif'=>'gif');
  6. $dh=opendir($dir);
  7. while($data=readdir($dh)){
  8.    if($data=='..' || $data=='.' || is_dir($dir.$data))
  9.        continue;
  10.    $temp_ext=explode('.',strrev($data),2);
  11.    $temp_ext=strrev($temp_ext[0]);
  12.    if($types[$temp_ext] || $_GET['debug'])
  13.        $sigs[]=$data;
  14. }
  15. mt_srand((double)microtime()*10000000);
  16. $i=mt_rand(0,(count($sigs)-1));
  17. $sig=$dir.$sigs[$i];
  18. $ext=explode('.',strrev($sig),2);
  19. $ext=strrev($ext[0]);
  20. $type=$types[$ext];
  21. if(!$type){
  22.    header('content-type: image/jpeg');
  23.    $im=imagecreate(500,100);
  24.    $white=imagecolorallocate($im,255,255,255);
  25.    $black=imagecolorallocate($im,0,0,0);
  26.    imagefill($im,0,0,$white);
  27.    imagettftext($im,13,0,0,10,$black,$dir.$font,'Extensión del archivo inaceptable'.$ext);
  28.    imagejpeg($im,'',100);
  29.    imagedestroy($im);
  30. }else{
  31.    header("Content-Type: image/{$type}");
  32.    readfile($sig);
  33. }
  34. ?>

La variable "$dir" es para la carpeta.


Título: Re: Avatar / Signature Randomicos
Publicado por: TeKNo dUKe en 18 Mayo 2008, 23:39 pm
Si entendi bien, con eso pongo una img aleatoria en una carpeta, pero ahora como hago para actualizar esa imagen, podria actualizarla cada 10 minutos y que esto sea automatico?.-

Desde ya muchas gracias por la respuesta dimitrix.-


Título: Re: Avatar / Signature Randomicos
Publicado por: dimitrix en 18 Mayo 2008, 23:55 pm
Vamos a ver, ese cógio lo pones por ejemplo en un archivo llamado "imagen.php" y en esa misma carpeta creas una nueva carpeta llamada "imagenes" y ahí pones todas las imágenes que quieres que salgan aleatoriamente.

Y en tonces te saldrá una distinta como si fuera un simple random.

Luego puedes usar esa url como si fuera una URL normal de una imagen.