este scrip pequeño hace un pequeño paginador

cuenta los archivos de la carpeta,
osea archivos dentro de la carpeta
1.php
2.php
3.php
4.php
pues lo que hace es que primero muentras el 4.php y alultimo el 1.php y si le metes el 5.php se pone primero asi asta el final jeje, saludos si alguien puede mejorar o algo asi, saludos!
Código PHP:
<?
function cuenta_archivos( )
{
$dir="tucarpeta";
$retval = 0;
if( $dir && is_dir( $dir ) )
{
if( ($d = opendir( $dir )) !== false )
{
while( ($f = readdir( $d )) !== false )
{
if( is_file( $dir . "/" . $f ) ) ++$retval;
}
closedir( $d );
}
}
return $retval;
}
if(empty($archivos)){
$archivos=cuenta_archivos();
}
if(empty($numerodepaginas)){
$numerodepaginas=$archivos;
}
$emp=$numerodepaginas;
echo "Paginas:";
for($i=0;$i<$numerodepaginas;$i++){
$b=$numerodepaginas-$i;
echo "<a href=index.php?archivos=$b&numerodepaginas=$emp>-" . $i ."-</a> ";
}
$ruta="tu carpeta/" . $archivos .".php";// aqui la extencion que quieras :D
$archivo=file($ruta);
$total=count($archivo);
for($i=0;$i<$total;$i++){
$dato= $archivo[$i];
echo $dato." ";
}
echo "Paginas:--->";
for($i=0;$i<$numerodepaginas;$i++){
$b=$numerodepaginas-$i;
echo "<a href=index.php?archivos=$b&numerodepaginas=$emp>-" . $i ."-</a> ";
}
?>