Página 1 de 1

Block Imagen Aleatoria

Publicado: 31 Mar 2010, 05:58
por Emmavc
URL: www.Injectfx.com.ar
Versión phpBB: phpBB3 (3.0.7-PL1)
MODs Instalados: Automod , Seo
Plantilla(s) usada(s): Melankolia (SubSilver)
Servidor: Linux gratuito
Actualización desde otra versión:
Conversión desde otro sistema de foros:

Bueno estuve intentando pero no logre hacer un bloque que tome de x carpeta las imagenes y ponga una en el block y al actualizar la misma imagen cambie.
Osea lo que quiero es un block q tome 1 imagen al azar de una carpeta y la ponga en el block :P

Re: Block Imagen Aleatoria

Publicado: 31 Mar 2010, 06:25
por memoadian
Eso lo quieres meter en el portal?
si es así se puede hacer con php, hay una funcion, que sirve para hacer lo que pides, deja la busco. y edito mensaje.

Bueno ya esta:

mira este es el codigo:

Código: Seleccionar todo

<?php
$imagenes= array("bomb.png","certificate.png","certificate_add.png","certificate_broken.png","certificate_delete.png",
                 "certificate_error.png","certificate_information.png","certificate_new.png","certificate_ok.png","certificate_preferences.png",
                 "certificate_refresh.png","certificate_view.png","certificate_warning.png","client_network.png","clients.png",
                 "cookies.png","cookies_delete.png","cookies_preferences.png","cookies_view.png","download.png",
                 "earth.png");
shuffle($imagenes);
?>
tienes que cambiar dentro de array las imagenes de tu carpeta, recuerda que debe ser la ruta absoluta o relativa a tu fichero

luego se coloca el siguiente código

Código: Seleccionar todo

<?
for($i=0;$i<3;$i++)
{
        echo"<td align=center><img src=\"";
        echo $imagenes[$i];
        echo "\" widht=100 height=100></td>";
        }
        ?>
este es un loop for que recupera las imagenes y cada que recargas la página aparecen de 3 en 3

esta parte "$i<3" afecta el número de imagenes mostradas cambialo por tu valor

"<td align=center>"<---- esto hace que aparezcan en una tabla, quitalo si quieres pero no afecta si es una tabla sin borde, puedes cambiarlo por div

estudialo, cualquier cosa preguntas.

Re: Block Imagen Aleatoria

Publicado: 31 Mar 2010, 07:00
por Emmavc
Yo quiero q las carge automaticamente solo cosa de que cuando suba mas no tenga q actualizar el fichero.php entendes lo que quiero?

Re: Block Imagen Aleatoria

Publicado: 31 Mar 2010, 10:04
por memoadian
ya veo, pero para eso deberias ir pensando de donde vas a tomar esas imagenes, si es de una pagina especial, o de tu foro, conectar con la BD, o subir los archivos en una pagina personalizada, y de ahi llamarla desde tu panel, asignando una carpeta de tu ftp, es un script bastante complejo, y creo que tendrás que desarrollarlo tu mismo, otra opción sería implementar una galeria.

:nolose:

Re: Block Imagen Aleatoria

Publicado: 31 Mar 2010, 12:28
por Emmavc
Yo las imagenes quiero que las tome de /images/sigcomm osea http://injectfx.com.ar/images/sigcomm.

Re: Block Imagen Aleatoria

Publicado: 01 Abr 2010, 07:31
por ^[GS]^
Podría ser algo así, para tomar imágenes NUMERADAS de una carpeta de forma aleatoria :)

Código: Seleccionar todo

<?php 
$total = "11"; // Numero total de imagenes 
$extension = ".jpg";// Definimos la extension, puede ser .jpg, gif, bmp, etc. 
$carpeta = "imagenes/aleatorias";//Carpeta con las imagenes 
// De aqui para abajo no es necesario modificar nada 
$start = "1"; 
$random = mt_rand($start, $total); 
$image_name = $random . $extension; 
echo "<img src="$carpeta/$image_name" border="0">"; 
?> 
De esta forma, no usamos un DIR (que consume mucho CPU)... aunque hay que configurar el numero de imágenes y luego asegurarse de que existen cada una...
1.jpg
2.jpg
3.jpg
etc

En el peor de los casos habría que recurrir a la lectura del directorio :S

Código: Seleccionar todo

$directorio=opendir("img"); 
//para saber el número de imagenes que contiene la carpeta 
$num_total=0; 
while($imagen=readdir($directorio)){ 
if(($imagen!=".")and($imagen!="..")and($imagen!="Thumbs.db")){ 
$num_total++; 
} 
} 
closedir($directorio); 
// sino cerramos y volvemos a abrir el //directorio,no se porque,pero da error 
$aleatorio=rand(1,$num_total); 
$directorio=opendir("img"); 
$num_imagen=1; 
while($imagen=readdir($directorio)){ 
if(($imagen!=".")and($imagen!="..")and($imagen!="Thumbs.db")){ 
if($num_imagen==$aleatorio){ 
echo "<img src=img/".$imagen.">"; 
} 
$num_imagen++; 
} 
} 
closedir($directorio); 
Personalmente prefiero el "indice de imágenes" para evitar tener que hacer trabajar tanto al Host...

Re: Block Imagen Aleatoria

Publicado: 22 Jun 2010, 02:23
por umbrella
creo que ya lo soluciono el amigo por lo que pude ver en su portal, ahora mi preegunta es... una vez que creo el archivo .php con el codigo:

Código: Seleccionar todo

<?php 
$total = "11"; // Numero total de imagenes 
$extension = ".jpg";// Definimos la extension, puede ser .jpg, gif, bmp, etc. 
$carpeta = "imagenes/aleatorias";//Carpeta con las imagenes 
// De aqui para abajo no es necesario modificar nada 
$start = "1"; 
$random = mt_rand($start, $total); 
$image_name = $random . $extension; 
echo "<img src="$carpeta/$image_name" border="0">"; 
?> 
como lo indexo con un .html para ponerlo en la carpeta block y que codigo aplico en el portal_body.html?

URL: http://rezpekt.eshost.com.ar/
Versión phpBB: phpBB3 (la ultima)
MODs Instalados: ninguno
Plantilla(s) usada(s): wowking basada en prosilver
Servidor: gratuito
Actualización desde otra versión: no
Conversión desde otro sistema de foros: no

Re: Block Imagen Aleatoria

Publicado: 24 Jun 2010, 17:11
por nextgen
umbrella escribió:up

Viejo leete las reglas del foro porque no se permite hacer up ni bump, si alguien no te responde solo espera pacientemente o bien busca la manera de solucionarlo tu mismo.