El siguiente script lee cualquier cantidad de links que tengo en un archivo ads1.txt de la siguiente forma e imprime 10 al azar. Lo que no sé es cómo haría ahí o qué más agregarle para que el bucle me lo imprima enumerado del 1 al 10 de manera ordenada y obviamente leyendo los links de manera aleatoria.
ads1.txt
Código:
script.php<div><a href="link1.htm">link 1</a></div> <div><a href="link2.htm">link 2</a></div> <div><a href="link3.htm">link 3</a></div> <div><a href="link4.htm">link 4</a></div> <div><a href="link5.htm">link 5</a></div> <div><a href="link6.htm">link 6</a></div> .... <div><a href="link20.htm">link 20</a></div>
Código PHP:
<?php
//----- configuracion -----//
if (!isset($title)){ $title = "";}
if (!isset($adsfile)){ $adsfile = "ads1.txt";} // archivo contiene un link por linea
if (!isset($maxads)) { $maxads = 10; } //numero maximo de links a mostrar
if (!isset($spacing)){ $spacing = 0; } //espacio entre links
if (!isset($spacer)) { $spacer = ""; } // separador, puede ser <br> o o nada
if (!isset($titlespacing)){ $titlespacing = 2; } //espacio entre titulo y links
//====AQUI COMIENZA EL SCRIPT ============
if (file_exists($adsfile))
{
$ads = array_filter(file($adsfile)); // consigue la lista del archivo
if (count($ads) > 0 && $maxads > 0) //solo corre si el archivo de links no esta vacio, y maxads > 0
{
if (count($ads) > $maxads)
{
if ($title != "")
{
echo "$title" . str_repeat($spacer,$titlespacing);
}
$selectedkeys = array_rand($ads,$maxads);
if ($maxads > 1)
{
//imprime cada link en el orden "shuffled" y aquí es donde quisiera saber que mas agregar para que enumere del 1 al 10 cada linea que imprime
foreach ($selectedkeys as $key)
{
if ($ads[$key] != "")
{
print "$ads[$key]" . str_repeat($spacer,$spacing);
}
}
// el resto no entraría a jugar en mi caso
}
else
{
print "$ads[$selectedkeys]" . str_repeat($spacer,$spacing);
}
}
else
{
if ($title != "")
{
echo "$title" . str_repeat($spacer,$titlespacing);
}
if ($maxads > 1)
{
foreach ($ads as $ad)
{
if ($ad != "")
{
print "$ad" . str_repeat($spacer,$spacing);
}
}
}
else
{
print "$ads[0]" . str_repeat($spacer,$spacing);
}
}
}
}
?>