Foros del Web » Programando para Internet » PHP »

Paginador de archivos

Estas en el tema de Paginador de archivos en el foro de PHP en Foros del Web. Tengo este codigo para listar los archivos de una carpeta: Código PHP: <?php  function  listarArchivos ( $c , $d ){ global  $file_folder ; $c = ...
  #1 (permalink)  
Antiguo 12/03/2010, 22:29
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Paginador de archivos

Tengo este codigo para listar los archivos de una carpeta:

Código PHP:
<?php 
function listarArchivos($c,$d){
global 
$file_folder;
$c=time() - filemtime($file_folder.'/'.$c);  
$d=time() - filemtime($file_folder.'/'.$d);  
if(
$c==$d) {  
return 
0;
}
return (
$c < $d) ? -1 : 1;
}
function 
mostrarArchivos($file_folder,$color_claro,$color_oscuro,$color){
$fs = array();
if(@
opendir($file_folder)==''){echo "La carpeta <b>$file_folder</b> no existe.";}else{
$dir = opendir($file_folder);
while (
$file_name = readdir ($dir)) {
$fs[]=$file_name;
}
usort($fs,"listarArchivos");
foreach(
$fs as $file_name){
if (
$file_name != "." && $file_name != "..") {
$count=$count++;
include 
'filedata.php';
if(
$color=="$color_oscuro"){
$color="$color_claro";
}else{
$color="$color_oscuro";
}
echo 
"<b style=background-color:$color>$file_name</b> - $file_size_round<br>";}
}
closedir ($dir);
}
}

//-------------------------------------------------
$file_folder = 'archivos';
mostrarArchivos($file_folder,'#FFFFFF','#CCCCCC',$color_claro);
?>
Como hago un paginador simple?
  #2 (permalink)  
Antiguo 12/03/2010, 22:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 17 años, 4 meses
Puntos: 1517
Respuesta: Paginador de archivos

Te sugiero que busques una librería llamada PHPaging.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 12/03/2010, 22:34
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 21 años, 10 meses
Puntos: 6
Respuesta: Paginador de archivos

Usa esto, simple y funciona 100%

Código PHP:

<?php 

if (!isset($_GET['pag'])) $pag = 1; // Por defecto, pagina 1
else
$pag = $_GET['pag']; 

$tampag = 5;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM empleado"); 
$total = mysql_num_rows($result);
if (
mysql_num_rows($result)){ 
  echo 
"<table border = '1'> \n"; 
  echo 
"<tr><td>Item 1</td><td>Item 2</td></tr> \n";
  for (
$i=$reg1; $i<min($reg1+$tampag, $total); $i++) {
    
mysql_data_seek($result, $i);
    
$row = mysql_fetch_array($result);
    echo 
"<tr><td>".$row["idempleado"].
      
"</td><td>".$row["nombres"]."</td></tr> \n"; 
  }
  echo 
"</table> \n"; 
}
else
  echo 
"_";


function 
paginar($actual, $total, $por_pagina, $enlace, $maxpags=0) {
  
$total_paginas = ceil($total/$por_pagina);
  
$anterior = $actual - 1;
  
$posterior = $actual + 1;
  
$minimo = $maxpags ? max(1, $actual-ceil($maxpags/2)): 1;
  
$maximo = $maxpags ? min($total_paginas, $actual+floor($maxpags/2)): $total_paginas;
  if (
$actual>1)
    
$texto = "<a href=\"$enlace$anterior\">&laquo;</a> ";
  else
    
$texto = "<b>&laquo;</b> ";
  if (
$minimo!=1) $texto.= "... ";
  for (
$i=$minimo; $i<$actual; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  
$texto .= "<b>$actual</b> ";
  for (
$i=$actual+1; $i<=$maximo; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  if (
$maximo!=$total_paginas) $texto.= "... ";
  if (
$actual<$total_paginas)
    
$texto .= "<a href=\"$enlace$posterior\">&raquo;</a>";
  else
    
$texto .= "<b>&raquo;</b>";
  return 
$texto;
}
echo 
paginar($pag, $total, $tampag, "index.php?pag="); 

?>
  #4 (permalink)  
Antiguo 12/03/2010, 22:53
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Paginador de archivos

Muchisimas gracias por responder tan rapido.

Pero yo no uso base de datos... uso solo archivos... no hay una forma sin mysql y todo eso?
  #5 (permalink)  
Antiguo 14/03/2010, 10:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 17 años, 4 meses
Puntos: 1517
Respuesta: Paginador de archivos

Puedes lograrlo, una forma de hacerlo es ingresando la información en array, usando file y escogiendo cuales vas a mostrar usando arary_slice.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 23/03/2010, 20:02
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Paginador de archivos

file seria para pasar todos los archivos a un array y slice para sacar una parte del array. Eso etendi, pero intente y no se me ocurre como hacerlo. Por favor si podes darme una mano y explicarme un poco mejor como añadirlo a mi codigo para mostrar los archivos te agradeceria.. muchisimas gracias igual por responder..
  #7 (permalink)  
Antiguo 24/03/2010, 06:30
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 17 años, 8 meses
Puntos: 13
Respuesta: Paginador de archivos

Igual es más facil si pones lo que llevas hecho :)




PD: en Google hay muchos codigos listos para usar, no hagas que alguien te lo haga aqui; sino que te hechen una manita..

Salut
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #8 (permalink)  
Antiguo 24/03/2010, 12:54
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Paginador de archivos

Si, me recorri todo google mas o menos, pero no encuentro paginadores sin mysql. No pido qe me hagan el script tampoco, sino que me den alguna linea basica de como hacerlo funcionar o algo para darme cuenta porque no se me ocurro como hacerlo. Desde ya muchas gracias.
  #9 (permalink)  
Antiguo 24/03/2010, 19:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 17 años, 4 meses
Puntos: 1517
Respuesta: Paginador de archivos

Bueno la idea es listar los archivos en un array. Te sugiero que ingreses todos los archivos en un array y luego usas la función array_slice, para recorrer el array. Luego creas unos enlaces que tengan declaradas variables con la información que se necesita para poder volver a recorrer el array con la función array_slice. Te sugiero que leas bien esa función para que veas cuantos parametros son necesarios usar y así puedas moverte. Si tienes complicaciones me dejas saber.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 30/03/2010, 10:53
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Paginador de archivos

tengo unas complicaciones:

Código PHP:
<?php 
function listarArchivos($c,$d){
global 
$file_folder;
$c=time() - filemtime($file_folder.'/'.$c);  
$d=time() - filemtime($file_folder.'/'.$d);  
if(
$c==$d) {  
return 
0;
}
return (
$c < $d) ? -1 : 1;
}
function 
mostrarArchivos($file_folder){
$fs = array();
if(@
opendir($file_folder)==''){echo "La carpeta <b>$file_folder</b> no existe.";}else{
$dir = opendir($file_folder);
while (
$file_name = readdir ($dir)) {
$fs[]=$file_name;
}
usort($fs,"listarArchivos");
foreach(
$fs as $file_name){
if (
$file_name != "." && $file_name != "..") {
$count=$count++;
$files = file($file_name);
}
}
closedir ($dir);
}
}

//-------------------------------------------------
$file_folder = 'archivos';
mostrarArchivos($file_folder);
?>
no tengo la menor idea de como hacer el slice :S, probe varias veces pero no me funciona...

Etiquetas: paginador
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 00:50.