Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/08/2008, 13:31
barlucas
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Bueno, incluyo todo el código pero la parte que crea los thumbs es la que está justamente comentana como "CREANDO LAS MINIATURAS"

Código PHP:
<?php

global $crearthumb;

function 
noesfotoprincipal($dire) {

    
$nombre_foto basename($dire,".jpg");
    
    
$con=mysql_connect('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    
mysql_select_db("xxxxxxxxxxx",$con);
    
$consulta="SELECT * FROM `eventos` WHERE `foto_princ` LIKE '" $nombre_foto "' LIMIT 1";
    
$datos mysql_query($consulta$con) or die ("Error al Ejecutar la Consulta: ".mysql_error()); 
    
    while (
$row mysql_fetch_row($datos)){
    
$foto_princ "$row[4]";
    }

    if (
$nombre_foto == $foto_princ
    {
        return(
0);
    }
    else
    {
        return(
1);
    }

    
mysql_close($con);    
}



function 
chequeathumb($lafoto) {

    
$con=mysql_connect('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    
mysql_select_db("xxxxxxxxxxxxxxxxxxx",$con);
    
    global 
$marcada;
    
    
$consulta="SELECT * FROM `marcasdeagua` WHERE `marcada` LIKE '" $lafoto "' LIMIT 1";
    
$datos mysql_query($consulta$con) or die ("Error al Ejecutar la Consulta: ".mysql_error()); 
    
    while (
$row mysql_fetch_row($datos)){
    
$marcada "$row[1]";
    }

    if (
$marcada == $lafoto
        { 
            return(
0);
        }
    else
        {
            return(
1);
        }
    
mysql_close($con);
}

//================================================================ CREANDO LAS MINIATURAS =================================================================

function tiny($d$archivo){
$original imagecreatefromjpeg("$d/$archivo");

/* Hallamos la anchura y altura de la imagen original */
$ancho imagesx($original);
$alto imagesy($original);

/* Indicamos la anchura que tendrá la miniatura */
$anchomini=130;

/* Obtenemos por una simple regla de tres la altura de la miniatura */
$altomini=($alto*$anchomini)/$ancho;

/*verificamos que los valores de ancho y alto no excedan nuestro limite por imagen*/
if($altomini>100){
    
$altomini 100;
    
$anchomini = ($ancho*100)/$alto;
}

    
/* 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 80% */
    
imagejpeg($thumb,"$d/thumbs/tn_$archivo",80); 
    }
    
//======================================================================================================================================================    

function gallery($fotos) { 
$imagenes=array(); //inicilizamos el array
$dir=$fotos;
if (
is_dir($dir)) { 
    if (
$dh opendir($dir)) { 
        while ((
$file readdir($dh)) !== false) {
              if (
$file != "." && $file != "..") {
                    if (
noesfotoprincipal($file)) 
                    {
                        if (
$file != 'Thumbs.db') {
                               
array_push ($imagenes$file); // añadimos la imagen
                        
}
                    }
              }  
        } 
    
closedir($dh); 
    } 
}
if (isset(
$_GET['pagina'])) {
    
$pagina=$_GET['pagina'];
    } else {
    
$pagina=1;
    }
$totalImagenes=count($imagenes);
$paginas ceil($totalImagenes/15);      
if (
1>$pagina$pagina=1
$inicio=($pagina-1)*15;
if (
$inicio>=$totalImagenes) { 
    
$pagina=1;
    
$inicio=0;
    }
$final=$inicio+15;
if (
$final>$totalImagenes$final=$totalImagenes;  

for (
$i=$inicio;$i<$final$i++) {
             if(!(
is_dir($imagenes[$i])OR($imagenes[$i]=="thumbs"))) {                
                      if(!
file_exists("$fotos/thumbs/tn_$imagenes[$i]")){                                
                    
$eldir $fotos.$imagenes[$i];
                        if (
chequeathumb($eldir)) {
                            
tiny($fotos,$imagenes[$i]);
                        }
                    }
                  
//muestra thumbs    
                           
                  
$j=($i%5);
                  if(
$j==0){                        
                        echo 
"\n";
                          echo  
'<p></p>';
                  }
                    if (
noesfotoprincipal($fotos.$imagenes[$i])) 
                    {
                        if (
$imagenes[$i] != 'Thumbs.db') {
                            echo 
'<a href="fotos.php?foto='.$fotos.$imagenes[$i].'&titulo='.$_GET['titulo'].'"><img src="'.$fotos.'/thumbs/tn_'.$imagenes[$i].'" border=0 class="foto" STYLE="border-style:solid;border-width:1px;border-color:#666666;"/></a>&nbsp;&nbsp;&nbsp;';
                        }
                    }
                  }
    }

if (!(
$paginas<=1)) {

    echo 
'<br><table border="0" cellspacing="0" cellpadding="5" class="Estilo1"><tr><td>&nbsp;</td></tr><tr>';

    if (
1<$pagina){
        
$anterior=$pagina;
        
$anterior--;
        echo 
"<td><a href='galerias.php?fotos=$dir&pagina=$anterior&titulo=".$_GET['titulo']."' class=\"enlacepag\">« Anterior</a> <span class=\"enlaceno\">|</span> </td>";
        }
    for (
$u=1$u<=$paginas$u++){
        if(
$u==$pagina) {
            echo 
"<td class=\"enlaceno\">".$u."</td>";
        }
        else
        {
            echo 
"<td><a href=\"galerias.php?titulo=".$_GET['titulo']."&fotos=$dir&pagina=".$u."\" class=\"enlacepag\">".$u."</a></td>";
        }
    } 
    if (
$final<$totalImagenes){
        
$siguiente=$pagina;
        
$siguiente++;
        echo 
"<td> <span class=\"enlaceno\">|</span> <a href='galerias.php?fotos=$dir&pagina=$siguiente&titulo=".$_GET['titulo']."' class=\"enlacepag\">Siguiente »</a></td>";
        }
    echo 
"</tr></table>";
    }
}
?>

Paso el directorio por URL y luego llamo a la función:

Código PHP:
<?
@gallery($_GET[fotos]);
?>

Desde ya muchas gracias