El tamaño de los wallpapers ronda entre 1 y 3 mb y los thumbs entre 5 y 11 kbs.
Código de walls.php:
Código PHP:
<?php
function tiny($d, $archivo){
$original = imagecreatefromjpeg("$d/$archivo");
/* Hallamos la anchura y altura de la imagen original */
$ancho = imagesx($original);
$alto = imagesy($original);
/* Especificamos el thumb */
$anchomini=142;
$altomini=107;
/* Dimensionamos la miniatura */
$thumb = imagecreatetruecolor($anchomini,$altomini);
/* Se obtiene por interpolación la miniatura en memoria */
imagecopyresampled($thumb,$original,0,0,0,0,$anchomini,$altomini,$ancho,$alto);
if(!is_dir("$d/thumbs")) {
mkdir("$d/thumbs",0777);
}
/* Guardamos la miniatura en un fichero con formato JPEG y un ratio de compresión de 90% */
imagejpeg($thumb,"$d/thumbs/tn_$archivo",90);
}
function gallery($fotos) {
$i = 0;
if (is_dir($fotos)) {
if ($handle = opendir($fotos)) {
echo "<table align='center' width='285' border='0' cellspacing='2' cellpadding='0'><tr>";
while (($archivo = readdir($handle)) !== false) {
//falta validar extensiones
if(!(is_dir($archivo)OR($archivo=="thumbs")OR($archivo=="Thumbs.db"))) {
if(!file_exists("$fotos/thumbs/tn_$archivo")){
tiny($fotos,$archivo);
}
//muestra thumbs
$j=($i%2);
if($j==0){
echo "</tr><tr>";
}
echo '<td><a href="'.$fotos.'/'.$archivo.'" target="_blank"><img src="'.$fotos.'/thumbs/tn_'.$archivo.'" border="1"/></a></td>';
$i++;
}
}
echo "</tr></table><div align='center'><< <a href='javascript:history.back()'>Volver</a> >> </div>";
closedir($fotos);
}
}
}
?>
Código PHP:
gallery($_GET['id']);