Hola gente! Saqué de mi libro de aprendiz unos ejemplos para crear thumbails de imágenes pero algo no me funciona porque no me aparecen los mismos. La librería GD la tengo activada. Ya hice pruebas con otros ejemplos.
Estos son los códigos:
galeria.php
Código PHP:
<?PHP
// Inicio Sección Configuracion ---------------------------------------------------
$DirFotos = 'fotos/'; //Directorio donde se encuentran las imagenes para la galeria
$CantxCol = 4; //Cantidad de columnas (Elegir este de acuerdo al tamaño que le vamos a dar a las imagenes)
// Fin Sección Configuracion ---------------------------------------------------
$Cant = 0; // Variable para ser usada como contador
$ContenidoDir = opendir("$DirFotos"); // Abrimos el directorio
$Archivo=readdir($ContenidoDir); // Leemos el primer archivo que será "." (recuerden la estructura de los directorios de MS-DOS)
$Archivo=readdir($ContenidoDir); // Leemos el segundo archivo que será ".." (recuerden la estructura de los directorios de MS-DOS)
// De aqui en mas los archivos serán los nombres y extensiones de las fotos que se encuentran en el directorio abierto.
?>
<?php while ($Archivo=readdir($ContenidoDir)) { ?>
<img src="resize.php?img=<? echo $DirFotos.$Archivo; ?>" border="0">
<?php $Cant = $Cant + 1;
if (($Cant % $CantxCol) == 0){
} else {
}
}
closedir($ContenidoDir); //Cerramos el directorio para no utilizar recursos del servidor inutilmente.
?>
El archivo que las procesa es resize.php
Código PHP:
<?php
// Nos aseguramos de que el archivo existe...
if (!file_exists($img))
{
echo "Error: No se puede encontrar la imagen: $img";
exit();
}
// Creamos la imagen...
$tmp = imagecreatefromjpeg($img);
if ($tmp)
{
// Cambiamos su tamaño
$ow = imagesx ($tmp); // Ancho Original de la imagen
$oh = imagesy ($tmp); // Alto Original de la imagen
if ($modo)
{
// Redimensionamos NO proporcional
$nw = $w;
$nh = $h;
}
else
{
// Redimensionamos Proporcional
if ($Prop == 'w')
{
$nw = $w;
$nh = unpercent(percent($nw, $ow), $oh);
}
else if ($Prop == 'h')
{
$nh = $h;
$nw = unpercent(percent($nh, $oh), $ow);
}
else
{
$nh = $h;
$oh = $w;
}
}
$out = imagecreatetruecolor($nw, $nh);
imagecopyresampled($out, $tmp, 0, 0, 0, 0, $nw, $nh, $ow, $oh);
imagedestroy($tmp);
}
else
{
echo 'ERROR: No se pudo crear la imagen fuente.';
exit;
}
if ($out)
{
header('Content-type: image/jpeg');
imagejpeg($out,'',$CalidadJPG);
imagedestroy($out);
}
else
{
echo 'ERROR: No se pudo crear la imagen redimensionada.';
}
?>
Como decía antes, no aparecen los thumbails. Este mismo ejemplo lo tengo con el código para que al precionar sobre las imágenes se abra un pop up con la imagen en tamaño real y la imagen sí APARECE en la ventana... cosa rara, pero no los thumbails.
¿Puede ser que haya tipeado algo mal o que al código le falte algo? ¿Alguna sugerencia?
Muchas gracias por su dedicación y paciencia.
Marx.