![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
El código es el siguiente:
[PHP]<?php
//----- SENTENCIAS INICIALES -----//
// Numero de miniaturas que se muestra en la pagina
$limit = 40;
// Ancho maximo de las miniaturas, 115 pixeles por defecto.
$w = 115;
// Alto maximo de las miniaturas, 100 pixeles por defecto.
$h = 100;
// Poner 1 para mostrar lista de carpetas. Poner 0 para desactivarlo.
$show_folders = 0;
// Poner 1 para mostrar el nombre de las imagenes. Poner 0 para desactivarlo.
$ititle = 1;
// Poner 1 para mostrar la fecha de modificacion de la imagen. Poner 0 para desactivarlo.
$idate = 0;
// Poner 1 para mostrar el tamaño de las imagenes. Poner 0 para desactivarlo.
$isize = 1;
// Poner 1 para mostrar las dimensiones de la imagen. Poner 0 para desactivarlo.
if($pg = $_GET['pg'])
{
$thumb = (($pg-1)*$limit);
$i = $thumb;
}
else
$i = 0;
$dirlist = dirname($_SERVER['SCRIPT_NAME']);
$subdir = explode("/", $dirlist);
$subdir = array_reverse($subdir);
$replace = array ("_", "/");
$with = array (" ", " - ");
$title = str_replace($replace, $with, $_GET[d]);
if(ereg("\.\.", $_GET['d']))
header ("Location: ?");
if($_GET['t'])
$limit = $t;
$pwidth = $w+15;
$pheight = $h+15;
if($ititle)
$pheight +=10;
if($isize || $idim)
$pheight +=10;
?>
<?PHP
//-------------------------------- Navegacion de directorios -----------------------------
function dir_list($dir){ // obtiene la lista de directorios de la actual carpeta
global $subdir;
$rootname = str_replace("_", " ", $subdir['0']); // nombre de la raiz de la galeria fotografica
$dlist = array();
if ($hdir = opendir('./'.$dir))
{
while ($obj = readdir($hdir))
{
if (((preg_match("/^\./",$obj)==0) && (!eregi('^(.*).
Código PHP:
$', $obj))) && is_dir($dir.$obj))
$dlist[] = $obj;
}
closedir($hdir);
}
else
die('No se pueden mostrar los ficheros de ' . $dir);
asort($dlist);
echo "<div id='dirnav' style='text-align:left'><ul>\n";
$dirtree = explode("/", $_GET['d']);
if(!$_GET['d'])
array_shift($dirtree); // elimina la redundancia de los puntos "." del directorio
foreach ($dirtree as $dirsub)
{
echo "<li> <a href='?d=$dirparent$dirsub'>$dirsub »</a></li>\n";
$dirparent .= $dirsub.'/';
}
foreach ($dlist as $link)
{
echo "<li> <a href='?d=$dir$link'>$link (Ver la galeria)</a></li>\n";
}
echo "</ul>\n</div>\n";
}
//---------------------------------------Navegacion de la pagina -----------------------------
function pagenav(){ // Escribe el numero de miniaturas, paginas restantes, y el enlace de "Anterior", "Inicio" y "Siguiente"
global $page, $pg, $thumb, $dd, $limit, $numtotal, $numremain;
$page = 0;
if(!$pg)
$pg = 1;
echo "<div class='pagenav'>\n<ul>\n";
if($thumb > 0)
echo "<li><a class='prev' href='?".$dd."pg=".($pg-1)."'>«Anterior</a></li>\n";
else
echo "<li><a class='prev' href='javascript:history.go(-1)'>«Anterior</a></li>\n";
while($page*$limit < $numtotal)
{
$page ++;
unset($cur);
if($page == $pg)
{
$cur = ' class="current"';
}
echo "<li$cur><a class='page' href='?".$dd."pg=$page'>".($page)."</a></li>\n";
}
if($numremain > $limit)
echo "<li><a class='next' href='?".$dd."pg=".($pg+1)."'>Siguiente»</a></li>\n";
else
echo "<li><div class='next'>Siguiente»</div></li>\n";
echo "</ul>\n</div>";
}
//------------------------------------- Obtener el tamaño de la imagen -------------------------
function getfilesize($size) // obtener el tamaño de la imagen, y expresarlo en Bytes, o multiplos
{
$units = array(' B', ' KB', ' MB', ' GB', ' TB');
for ($i = 0; $size > 1024; $i++) { $size /= 1024; }
return round($size, 2).$units[$i];
}
//------------ Establecer que carpeta estamos viendo
if($_GET['d']) // La variable d es un string de URL, para navegar los subdirectorios
{
$d = $_GET['d'].'/';
$dd = 'd='.$_GET['d'].'&'; // se usa para pasar las secuencias por URL
$current_dir .= $d;
}
opendir($current_dir); // abre el directorio para navegar las imagenes
if ($show_folders)
dir_list($current_dir); // escribe los directorios de navegacion
//----------- Crear la lista de imagenes
$list = array();
if ($dir = opendir('./'.$current_dir)){
while ($file = readdir($dir)){
if (eregi('.jpg', $file)){ //Si el archivo es JPG
//if (eregi('.gif', $file)){ //Si el archivo es JPG
$list[] = $file; //que lo muestre
}
else if (eregi('.gif', $file)){ //Si el archivo es GIF
$list[] = $file; //que lo muestre
}
else if (eregi('.png', $file)){ //Si el archivo es PNG
$list[] = $file; //que lo muestre
}
}
closedir($dir);
}
asort($list);
$numtotal = count($list); //numero total de miniaturas
if ($thumb)
{
$s = 0;
while($s < $thumb)
{
array_shift($list);
$s++;
}
}
$numremain = count($list); // numero total restante de miniaturas en la carpeta
if ($_GET['d'])
{
pagenav(); //navegador superior de "anterior" y siguiente"
}
//--------- Crear miniaturas y galeria
echo "<div id='thumbnails'>";
foreach ($list as $pic)
{
$fp = $current_dir.$pic;
if($i < $thumb+$limit)
{
$image = $currentdir.$pic;
$i_size = getfilesize(filesize($fp));
$i_area = getimagesize($fp);
$i_width = $i_area[0];
$i_height = $i_area[1];
$name = str_replace('.jpg', '', $pic);
echo "<p class='thumb'><tt>\n";
echo "<a href='$current_dir$pic' rel='thumbnail'>";
echo "<img src='image_resize.php?i=$d$pic&w=$w&h=$h' alt='$pic' border='0' />";
if($ititle)
echo "<br /><span class=\"iname\">$name</span>";
if ($idate)
echo " ".date("F d", filemtime($current_dir.$pic));
echo " </a>\n<br />";
if($idim)
echo "<span class=\"idim\">$i_width x $i_height</span><br/>";
if($idim && $isize)
echo " ";
if ($isize)
echo "<span class=\"isize\">[$i_size]</span>";
echo "</tt></p>\n\n";
$i++;
}
}
echo "</div>";
/*if ($_GET['d'])
{
pagenav(); //navegador inferior de "anterior" y siguiente"
}*/
if ($pujador == 1){//Esta funcion implementa un Script para subir imagenes a la galeria
?>
<p>
<?PHP
}else{
echo "<h1></h1>
</div>";
}
?>