Foros del Web » Programando para Internet » PHP »

Imagenes Aleatorias...Por favor ayuar.

Estas en el tema de Imagenes Aleatorias...Por favor ayuar. en el foro de PHP en Foros del Web. Tengo un codigo para ver imagenes aleatorias en php, el codigo es: Código PHP: <?php  // Array con las imagenes (URL fisico en el servidor).  // El indice es autonumerico .. tan solo añadir o quitar entradas segun se necesite.  $imagenes []= "1.jpg" ;  $imagenes []= "2.jpg" ;  ...
  #1 (permalink)  
Antiguo 27/05/2005, 13:25
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
Imagenes Aleatorias...Por favor ayuar.

Tengo un codigo para ver imagenes aleatorias en php, el codigo es:
Código PHP:
<?php 
// Array con las imagenes (URL fisico en el servidor). 
// El indice es autonumerico .. tan solo añadir o quitar entradas segun se necesite. 
$imagenes[]="1.jpg"
$imagenes[]="2.jpg"
$imagenes[]="3.jpg"
$imagenes[]="4.jpg"
$imagenes[]="5.jpg"
// Seleccion aleatoria imagen. 
$aleatoria=rand(0,count($imagenes)-1); 
// Buscar la extension de la imagen 
$tipo_ext=explode(".",$imagenes[$aleatoria]); 
$tipo=$tipo_ext[1]; 
// Formar la cabecera HTTP para imagen segun su extensión 
// Enviamos cabecera al navegador para avisar q va una imagen de $tipo 
header("Content-type: image/$tipo"); 
// Le ponemos el nombre de la imagen .. Al dar a descargar aparecera con este nombre. Puede dejarse uno fijo. 
header("Content-Disposition: inline; filename=".$imagenes[$aleatoria]); 
// Leer la imagen de su URL y entregarla al buffer de salida 
readfile ($imagenes[$aleatoria]); 
?>
y para usarlo solo debo insertar <img src="images/aleatorias/foto.php">, pero como veran en las primeras lineas de este, debo escribir las fotos que deseo mostrar en el archivo ($imagenes[]="1.jpg"; $imagenes[]="2.jpg"; etc) y resulta que quiero saber si alguien sabe como hacerlo o tiene otro script similar a este para mostrar una imagen aleatoria de cierto directorio sin tener que escribirlas dentro del archivo. El problema pasa porque deseo crear un modulo de Upload para poder ir subiendo automaticamente las imagenes, pero obviamente no vale la pena si cada vez que suba la imagen de igual manera tendria que editar el PHP para agregar la foto.

Gracias!!
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 27/05/2005, 14:11
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Podes usar este mismo, solo tenes que hacer un opendir, y luego un while sobre ese handle..he ir cargando ahi el vecto, algo asi:

$directorio = "directorio/otrodir";
$handle=opendir($directorio) or die('Directorio inexistente o sin permisos');
while ($file = readdir($handle)) {
if($file=="." or $file==".."){ #Aca hace todas las validaciones que necesites, como ser, si es una imagen o no.
continue;
}else{
$imagenes[] = $file;
}
Espero te sirva
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 29/05/2005, 18:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
la verdad es que no me funciona :S
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #4 (permalink)  
Antiguo 29/05/2005, 18:52
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Entre los comentarios de los usuarios en http://www.php.net/readdir encontré esta función de:
davidstummer at yahoo dot co dot uk
02-Apr-2005 07:32:
Código PHP:
function listImages($dirname=".") {
   
$ext = array("jpg""png""jpeg""gif");
   
$files = array();
   if(
$handle opendir($dirname)) {
       while(
false !== ($file readdir($handle)))
           for(
$i=0;$i<sizeof($ext);$i++)
               if(
strstr($file".".$ext[$i]))
                   
$files[] = $file;

       
closedir($handle);
   }
   return(
$files);

Simplemente tienes que llamar a la función dándole la ubicación del directorio:
Código PHP:
$imagenes listImages("tu/directorio"); 
Y ya tendrás el array que querías.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.