PHP - Mostrar fotos de una carpeta aleatoriamente

 
Vista:
Imágen de perfil de Ale
Val: 83
Ha disminuido su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mostrar fotos de una carpeta aleatoriamente

Publicado por Ale (54 intervenciones) el 05/01/2018 18:52:39
Buenas, tengo este código que muestra las fotos alojadas dentro de una carpeta:

1
2
3
4
5
6
7
8
9
10
<?php
$ruta = "fotos/"; // Indicar ruta
$filehandle = opendir($ruta); // Abrir archivos
while ($file = readdir($filehandle)) {
	if ($file != "." && $file != "..") {
		   echo "<img class='zoom' border='0' src='$ruta$file'>";// Muestro las imagenes en orden cronologico
	}
}
closedir($filehandle); // Fin lectura archivos
?>

el tema que las muestra por orden alfabetico (la primera foto es la 01,jpg, la segunda 02.jpg, etc) y quisiera que me las acomode en forma random, o sea en vez de la 1, 2, 3 sea la 4, 7, 2 etc....
Alguna forma de modificar este código y muestre las imágenes sin ningún orden establecido? gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mostrar fotos de una carpeta aleatoriamente

Publicado por xve (6935 intervenciones) el 05/01/2018 21:12:50
Hola Ale, lo que se me ocurre, es que pongas los archivos en un array, y luego lo ordenes de manera aleatoria con array_rand() (https://secure.php.net/manual/es/function.array-rand.php) para posteriormente mostrarlos de manera aleatoria.

se entiendo a lo que me refiero?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ale
Val: 83
Ha disminuido su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mostrar fotos de una carpeta aleatoriamente

Publicado por Ale (54 intervenciones) el 07/01/2018 00:21:33
Perfectamente, sería en el

1
while ($file = readdir($filehandle)) {

en donde tendría que meterle un

1
shuffle($file);

pero no se la sentencia correcta... tu la podrias agregar a mi código? gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar