
Consulta sobre $_GET[...]
Publicado por Juan (1 intervención) el 29/04/2017 19:32:05
Por favor si alguien pudiera ayudarme
Archivo origen : bancos.php
Archivo destino : galeria.php
Estoy utilizando una rutina para crear una galeria de imagenes (la obtuve desde internet) a travez de un link
El codigo del link es este
El codigo de la rutina de imagenes es este
La idea es hacer la rutina generica
Al entrar por primera vez muestra correctamente
Al dar un click en cualquiera de las siguientes pagina, marca error


Archivo origen : bancos.php
Archivo destino : galeria.php
Estoy utilizando una rutina para crear una galeria de imagenes (la obtuve desde internet) a travez de un link
El codigo del link es este
1
<p><a href="galeria.php?clave=imgbcos">ScreenShots</a></p>
El codigo de la rutina de imagenes es este
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<table>
<tr>
<?php
header('Content-type: text/html; charset=utf-8');
$path = $_GET['clave'];
# Galería de imágenes
# (CC) Alfonso Saavedra "Son Link"
# Bajo GPLv3
//$path = 'imgbcos'; # Directorio donde están las imágenes
$limit = 4; # Cuantas imágenes se mostraran por pagina
$limit_file = 4; # Imágenes a mostrar por linea en la tabla
$n = 0;
$desde;
$hasta;
# Comprobamos si es un directorio y si lo es nos movemos a el
if (is_dir($path)){
$dir = opendir($path);
# Recorremos los ficheros que hay en el directorio y cogemos solamente aquellos cuya extensión
# sea jpg, gif y png y la guardamos en una lista
while (false !== ($file = readdir($dir))) {
if (preg_match("#([a-zA-Z0-9_\-\s]+)\.(gif|GIF|jpg|JPG|png|PNG)#is",$file)){
$list[] = $file;
}
}
# Cerramos el directorio
closedir($dir);
# Ordenamos la lista
sort ($list);
# Contamos el total de elementos en la lista
$total = count($list);
$paginas = ceil($total/$limit);
if (!isset($_GET['pg'])){
$desde = 0;
$hasta = $desde + $limit;
}else if((int)$_GET['pg'] > ($paginas-1)){
# Si pg es mayor que el total de paginas se muestra un error
echo "<b>No existe esta pagina en la galería</b>
<a href='galeria.php'>Volver a la galería</a>";
die();
}else{
$desde = (int)$_GET['pg'];
}
# Y generamos los enlaces con los thumbnails
for ($i=($desde*$limit);($i!=$total) && ($i<($desde*$limit)+$limit);$i++){
# Comprobamos si existe en la lista una llave con el valor actual de $i para evitar errores
if(array_key_exists($i, $list)){
echo "<td><a href='$path/$list[$i]'><img src='thumb.php?img=$path/$list[$i]' /></a>
</td>\n";
$n++;
if ($n == $limit_file){
echo "</tr>\n<tr>\n";
$n = 0;
}
}
}
}else{
echo "$path no es un directorio";
}
?>
</tr>
</table>
<p id="paginas">
<?php
# Generamos un listado de las paginas de la galería
for ($p = 0; $p<$paginas; $p++){
$pg = $p+1;
if ($p == $desde){
echo "$pg ";
}
else{
echo "<a href ='?pg=$p'>$pg</a> ";
}
}
?>
</p>
<?php echo "Hay un total de $total imagen(es) en $paginas paginas(s)";?>
La idea es hacer la rutina generica
Al entrar por primera vez muestra correctamente
Al dar un click en cualquiera de las siguientes pagina, marca error


Valora esta pregunta


0