Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ordenamiento de archivos

Estas en el tema de Ordenamiento de archivos en el foro de PHP en Foros del Web. Buenas estimados, una consulta Fijense en esta imagen Estos archivos excel están en mi hosting, se puede apreciar que están ordenados cronológicamente, se han creado ...
  #1 (permalink)  
Antiguo 07/12/2018, 18:37
 
Fecha de Ingreso: junio-2011
Ubicación: Lima Peru
Mensajes: 11
Antigüedad: 7 años, 5 meses
Puntos: 0
Ordenamiento de archivos

Buenas estimados, una consulta

Fijense en esta imagen


Estos archivos excel están en mi hosting, se puede apreciar que están ordenados cronológicamente, se han creado en ese orden y los nombres de archivo tambien obedecen a un orden cronológico. Sin embargo, cuando los muestro en mi web se ve asi:



Siendo que el primer archivo que aparece (el 201805_GRUPO) debería estar mas abajo entre 201804_GRUPO y 201806_GRUPO y no se porque se posiciona allí. El codigo que uso para mostrar los archivos es este:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <meta name="viewport" content="width=device-width, initial-scale=1">
  4.     <title>Descarga</title>
  5.     <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
  6.     <script src="http://code.jquery.com/jquery.js"></script>
  7.     <script src="js/bootstrap.min.js"></script>  
  8.    
  9.     <style type="text/css">
  10.         H1 { text-align: center}
  11.     </style>   
  12. </head>
  13.   <body>
  14.     <h1>GRUPO</h1>
  15.  
  16.     <div class="table-responsive">
  17.        <table class="table table-bordered table-striped">
  18.             <thead>
  19.                <tr>
  20.                   <th>
  21.                     <?php
  22.                         $dir = opendir("/home/content/52/11293155/html/Grupo");  
  23.                         while ($file = readdir($dir))
  24.                             {
  25.                                 if ( preg_match('/xls\b/', $file) )
  26.                                 {// Eliges que ficheros deseas mostrar
  27.                                 $e1 = "$file";
  28.                                 $se = explode('.',$e1);  // Para que no me muestre la extensión del archivo
  29.                                 echo "<div align=\"center\"><strong>&raquo;</strong>  <a href=\"$file\">".$se[0]."</a></div>";
  30.                                 }
  31.                             }
  32.                         closedir($dir);
  33.                     ?>               
  34.                   </th>
  35.                </tr>
  36.             </thead>
  37.        </table>
  38.     </div>
  39. </body>
  40. </html>

Como puedo hacer estimados para forzar a que se mantenga el orden? Gracias
  #2 (permalink)  
Antiguo 07/12/2018, 22:11
 
Fecha de Ingreso: junio-2011
Ubicación: Lima Peru
Mensajes: 11
Antigüedad: 7 años, 5 meses
Puntos: 0
Respuesta: Ordenamiento de archivos

Ya lo resolvi.

Lo que debia hacer era almacenar todos los nombres de archivos en un array, ordenar el array y luego recorrerlo e ir pintandolo.

Código PHP:
Ver original
  1. while ($file = readdir($dir))
  2.                             {
  3.                                 if ( preg_match('/xls\b/', $file) )
  4.                                 {
  5.                                 $e1 = "$file";
  6.                                 $se = explode('.',$e1);  // Para que no me muestre la extension del archivo
  7.                                 $archivos[]=$se;
  8.                                 }
  9.                             }
  10.                         closedir($dir);
  11.                         sort($archivos);    // <--- Aqui el truco
  12.                        
  13.                         foreach ($archivos as $archivo){
  14.                            echo "<div align=\"center\"><strong>&raquo;</strong>  <a href=\"$archivo[0].xls\">".$archivo[0]."</a></div>";
  15.                         }
  #3 (permalink)  
Antiguo 07/12/2018, 22:48
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Ordenamiento de archivos

pues el listado deberia mostrartelo por orden de MODIFICACION de archivo o nombre, en tu caso esta todo bien, pero usa otra funcion que no sea OPEN DIR, usa GLOB
Código PHP:
Ver original
  1. <?php
  2.                         foreach (glob("/home/content/52/11293155/html/Grupo/*.xls") as $file)
  3.                             {
  4.                                $file =  basename($file);
  5.                                 if ( preg_match('/xls\b/', $file) )
  6.                                 {// Eliges que ficheros deseas mostrar
  7.                                 $e1 = "$file";
  8.                                 $se = explode('.',$e1);  // Para que no me muestre la extensión del archivo
  9.                                 echo "<div align=\"center\"><strong>&raquo;</strong>  <a href=\"$file\">".$se[0]."</a></div>";
  10.                                 }
  11.                             }
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.me/pools/c/87BTML2gwr



La zona horaria es GMT -6. Ahora son las 14:39.