Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] RANDOM php repite imagenes

Estas en el tema de RANDOM php repite imagenes en el foro de PHP en Foros del Web. Buen dia, hice un codigo donde consulto imagenes de una carpeta y las pongo en un carrusel (slider), hasta ahi funciona bien, el problema es ...
  #1 (permalink)  
Antiguo 02/01/2014, 21:19
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
RANDOM php repite imagenes

Buen dia, hice un codigo donde consulto imagenes de una carpeta y las pongo en un carrusel (slider), hasta ahi funciona bien, el problema es que las imagenes se repiten, alguien me puede ayudar a resolverlo porfavor. Gracias

El codigo:

<div style="width:100%; margin:0 auto; text-align:center">
<ul class="example1">
<?php
$directorio="slider/";
if ($gestor = opendir($directorio))
{
$list=array();
while (false !== ($arch = readdir($gestor)))
{ if ($arch != "." && $arch != ".." && $arch != ".DS_Store" && $arch != "jquery-1.8.3.min.js" && $arch != "simple.carousel.js")
{
$list[]=$arch;
}
}

$contar = count($list);

foreach($list as $fileName )
{
$numerorandom = rand(1,$contar);
echo "<li><span><img src=\"slider/slider_".$numerorandom.".jpg\" width=\"100%\">es: ".$numerorandom."</span></li>";
}
closedir($gestor);
}
?>
</ul>

<span class="prev"><<<- - </span>
<span class="next"> - ->>></span>
<br><br>
</div>
  #2 (permalink)  
Antiguo 02/01/2014, 21:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: RANDOM php repite imagenes

Pues tu técnica de elegir un valor al azar es algo floja, de verdad.

Esto me parece mejor:
Código PHP:
$nums range(010);
shuffle($nums);

foreach (
$nums as $num) {
  echo 
"$num, ";

El problema con tu técnica es que en cada vuelta del for() se determina un nuevo número aleatorio, lo cual es bastante endeble, porque siempre existe la posibilidad de que se repita alguno.

Consulta el manual de rand() si tienes más dudas al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/01/2014, 21:36
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: RANDOM php repite imagenes

EXCEEEEELENTE, Viejo, primero gracias por la velocidad para responder, segundo, muy bueno tu aporte, lo implemente y me funciono perfecto, tercero, aca dejo el codigo funcionando correcto por si alguien le sirve:

<div style="width:100%; margin:0 auto; text-align:center">
<ul class="example1">
<?php
$directorio="slider/";
if ($gestor = opendir($directorio))
{ // ponemos los valores en un array para poder ordenarlos
$list=array();
while (false !== ($arch = readdir($gestor)))
{ if ($arch != "." && $arch != ".." && $arch != ".DS_Store" && $arch != "jquery-1.8.3.min.js" && $arch != "simple.carousel.js")
{
$list[]=$arch;
}
} // ordenamos el array

$contar = count($list);
$nums = range(1, $contar);
shuffle($nums);

// mostramos el contenido del array
foreach($nums as $num)
{
echo "<li><span><img src=\"slider/slider_".$num.".jpg\" width=\"100%\">es: ".$num."</span></li>";
}
closedir($gestor);
}
?>
</ul>

<span class="prev"><<<- - </span>
<span class="next"> - ->>></span>
<br><br>
</div>

Etiquetas: count, random
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 06:00.