Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/05/2014, 05:36
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: visualizar imagenes de una carpeta en una tabla

Lo de corto y pego es muy malo. Hay que intentar entender las cosas.

Te paso una solució hecha al vuelo, PUEDE TENER ERRORES, espero que los puedas corregir.

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>archivos</title>
  6. </head>
  7.  
  8. <body>
  9. <?php  
  10. // para leer el directorio
  11. $ruta = "archivos/";  
  12. //$filehandle = opendir($ruta);
  13. $i=0;
  14. //Obtenemos todos los archivos de la ruta (incluso . y ..)
  15. //Si no especificamos el segundo parametro nos los da ordenados.
  16. $archivosfile=scandir($ruta);
  17.  
  18. // paginando
  19. $currentpage = $_SERVER['PHP_SELF']; // pagina en la que se encuentra
  20. $total=(count($archivosfile)-2);
  21. $maxRows_Blogdenotas = 10;  // cantidad maxima de archivos a mostrar por pagina
  22. $pageNum_Blogdenotas = 0;
  23.  
  24.  
  25. if (isset($_GET['pag'])) {
  26.   $pageNum_Blogdenotas = intval($_GET['pag']);
  27. }
  28.  
  29. $startRow_Blogdenotas = $pageNum_Blogdenotas * $maxRows_Blogdenotas;
  30.  
  31. if (isset($_GET['pag'])) {
  32.   $pageNum_Blogdenotas = intval($_GET['pag']);
  33. }
  34.  
  35. $startRow_Blogdenotas = $pageNum_Blogdenotas * $maxRows_Blogdenotas;
  36. $totalRows_Blogdenotas = $total;
  37. $totalPages_Blogdenotas = ceil($totalRows_Blogdenotas/$maxRows_Blogdenotas)-1;
  38. $archivos = array_slice($archivosfile, $startRow_Blogdenotas, $maxRows_Blogdenotas);
  39.  
  40. // paginando    
  41.  
  42. ?>
  43. Total Archivos:&nbsp;<?php echo $total;  ?><br /><br />
  44. <table border="0">
  45.                     <tr>
  46.                       <td><?php if ($pageNum_Blogdenotas > 0) { // Show if not first page ?>
  47.                             <a href="<?php echo $currentpage; ?>?pag=0">Primero</a>
  48.                             <?php }else{ // Show if not first page ?>
  49.                             <span class="style1">Primero</span> <?php } ?> </td>
  50.                       <td><?php if ($pageNum_Blogdenotas > 0) { // Show if not first page ?>
  51.                             <a href="<?php echo $currentpage; ?>?pag=<?php echo htmlentities($_GET['pag']-1); ?>">Anterior</a>
  52.                             <?php }else{ // Show if not first page ?>
  53.                             <span class="style1">Anterior</span> <?php } ?> </td>
  54.                       <td><?php if ($pageNum_Blogdenotas < $totalPages_Blogdenotas) { // Show if not last page ?>
  55.                             <a href="<?php echo $currentpage; ?>?pag=<?php echo htmlentities($_GET['pag']+1); ?>">Siguiente</a>
  56.                             <?php }else{ // Show if not last page ?>
  57.                             <span class="style1">Siguiente</span> <?php } ?> </td>
  58.                       <td><?php if ($pageNum_Blogdenotas < $totalPages_Blogdenotas) { // Show if not last page ?>
  59.                             <a href="<?php echo $currentpage; ?>?pag=<?php echo $totalPages_Blogdenotas ?>">Ultimo</a>
  60.                             <?php }else{ // Show if not last page ?>
  61.                             <span class="style1">Ultimo</span> <?php } ?> </td>
  62.                     </tr>
  63.                   </table>
  64. <div>                  Mostrando <?php echo ($startRow_Blogdenotas + 1) ?> a <?php echo min($startRow_Blogdenotas + $maxRows_Blogdenotas, $totalRows_Blogdenotas) ?> de <?php echo $totalRows_Blogdenotas ?></div><br /><br />
  65. <table border="0">
  66. <tr>
  67.  
  68. <?php
  69. $maxColumns=2; //número de columnas de la tabla
  70.  
  71. //empezamos por 2 para saltarnos . y ..
  72. for ($i=2;$i<count($archivos);$i++) {
  73.     if($i % $maxColumns == 0 && $i!=2) { ?>
  74.     </tr><tr>
  75.     <?php
  76.        //Insertamos fila con pies de foto (nombre del archivo)
  77.        for($j=$maxColumns;$j>0;$j--){ ?>
  78.        <td><?php echo $archivos[$i-$j+1];?></td>
  79.      <?php } ?>
  80.         </tr><tr>
  81.     } ?>
  82.     <td><a href="<?php echo $ruta.$archivos[$i];?>"><img src="<?php echo $ruta.$archivos[$i];?>" style="width:200px;" /></a></td>
  83. <?php }
  84. //Completamos la ultima fila de imagenes hasta % maxColumns=0
  85. if(count($archivos) % $maxColumns != 0){?>
  86.         <td>&nbsp;</td>
  87. <?php  $ii=count($archivos)+1;
  88.    while ($ii % $maxColumns != 0){?>
  89.         <td>&nbsp;</td>
  90. <?php
  91.     $ii++;
  92.     }
  93. }?>
  94.     </tr><tr>
  95. <?php
  96. //Insertamos la ultima fila de pies de foto hasta % maxColumns=0
  97.    for($j=$ii-$maxColumns;$j<$ii;$j++){
  98. ?>
  99.    <td><?php
  100.     if ($j<count($archivos))
  101.     echo $archivos[$j];
  102.     }else{
  103.     echo "&nbsp;";
  104.     }
  105.     ?></td>
  106. <?php } ?>
  107. </tr>
  108. </table>
  109. </body>
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.