Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/02/2008, 03:45
Avatar de TitoCL
TitoCL
 
Fecha de Ingreso: febrero-2008
Ubicación: Curicó
Mensajes: 10
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Lightwindow Galeria de Imagenes

ok... vamos avanzando...

hasta ahora tengo el archivo galeria.php que es donde yo elijo el directorio que quiero "subir" (entre "" porque aun no he visto el modo en que voy a subir el directorio completo con imagenes y balblalba), y bueno "Directorio" tambien entre "" porque elijo una de las fotos y luego limpio la direccion para dejar solo el directorio..., (lo de copiar el directorio con las fotos lo estoy haciendo a mano, hago un directorio "galeria1" y le tiro un par de imagenes para probar).

Luego de esto creo un arreglo en donde meto todos los nombres de las fotos (fotosArray, super original).

mmm luego cargo: imagenes.php?pics='.$archivos.'&dir='.$fotos
donde pics va a ser el arreglo de las fotos y dir el directorio en el que estan las fotos

esto lo tomo en imagenes.php para crear el archivo para mostrar la galeria de imagenes como el LightWindow

Problemas:
bueno se me han presentado varios xD hahaha

En firefox el input file solo me muestra el archivo que escogi, sin el path, sin embargo en iexplorer me muestra el path completo con el nombre del archivo

Solucion:
<input type=hidden name="fotos" value="" />
<input type="file" name="ruta" value="" onChange="this.form.fotos.value=this.form.ruta.val ue" />

con esto copio el path completo que me muestra en la caja del formulario

Siguiente problema (sin solucion aun):

* Tengo que hacer un link para cargar la galeria

<a href="MuseodeBellasArtes/20060207121647_0.jpg" class="lightwindow page-options" rel="Random[Sample Images]" title="Titulo" caption="Caption" author="autor"><strong>Image Gallery</strong> - Everyone needs a killer gallery!</a>

(le hice copy paste al del demo de lightwindow solo cambiando el nombre del directorio y la foto, porque tuve tanto error que no quise cambiarle nada por ahora)

* Me hace la galeria, pero al momento de apretar el Next para seguir a la otra foto, me karga la misma 1...

* Ahora me di cuenta que en IExplorer me sale como corrida la galeria de fotos (imagenes.php) cuak! algo copie mal del demo de lightwindow hahaha HELP

les dejo los archivos:

galeria.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);

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

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


function 
gallery($fotos) { 
    
$i 0
    if (
is_dir($fotos)) {
       if (
$handle opendir($fotos)) {
         while ((
$archivo readdir($handle)) !== false) {    
                 
//falta validar extensiones              
             
if(!(is_dir($archivo)OR($archivo=="thumbs"))) {                
                      if(!
file_exists("$fotos/thumbs/tn_$archivo")){                                
                        
tiny($fotos,$archivo);
                    }
                  
//muestra thumbs    
                           
                  
$j=($i%4);
                  if(
$j==0){                        
                  }              
                    
$fotosArray[$i]=$archivo;
                    
                    
//echo '<a href="'.$fotos.'/'.$archivo.'"><img src="'.$fotos.'/thumbs/tn_'.$archivo.'"/></a>';
                    
$i++;
                  }
          }
         
closedir($fotos);
         
$archivos=serialize($fotosArray);          
         
$archivos=urlencode($archivos);
         echo 
'<script languaje="JavaScript"> window.location="imagenes.php?pics='.$archivos.'&dir='.$fotos.'";</script>';
        }
      }  
}
?>
<html>
<head>
<title>Galeria</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


</head>

<body>
<?
$file 
$_POST[fotos];
if (isset(
$file) && $file != null) {
 
$file stripslashes($file);
 
$pos strrpos($file"\\");
 
$dir substr ($file0$pos);
 
$pos2 strrpos($dir,"\\");
 
$dir2 substr ($dir, ($pos2 1), strlen($dir));
 
$fotos=$dir2;
 if(!
is_dir("$fotos/"))    {
          
mkdir("$fotos",0777);
        }
 @
gallery($fotos);
} else {
?>

<form action="galeria.php" method="POST">
  <input type="hidden" name="fotos" value="" />
  <input type="file" name="ruta" value="" onChange="this.form.fotos.value=this.form.ruta.value" />
  <input type="submit" value="Subir" />
</form> 
<?
}
?>
</body>
</html>
imagenes.php

Código PHP:
<head>

    <title>LightWindow Demo</title>

    <!-- Meta Tags -->
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="robots" content="index, follow" />
    
    <!-- CSS -->
    <link rel="stylesheet" type="text/css" href="css/default.css" />
    <link rel="stylesheet" type="text/css" href="css/lightwindow.css" />
    
    <!-- JavaScript -->
    <script type="text/javascript" src="javascript/prototype.js"></script>
    <script type="text/javascript" src="javascript/effects.js"></script>
    <script type="text/javascript" src="javascript/lightwindow.js"></script>


</head>

<body>

    <div class="page-top"></div>

        
    <div class="page-body">
<?php
      $a
=stripslashes ($_GET[pics]);
      
$directorio=$_GET[dir];
      
$fotos=unserialize($a);
      echo 
'<a href="'.$directorio.'/'.$fotos[0].'" class="lightwindow page-options" rel="Random[Sample Images]" title="Titulo" caption="Caption" author="autor"><strong>Image Gallery</strong> - Everyone needs a killer gallery!</a>';
    Foreach (
$fotos as $clave=>$valor)
{
echo 
'<a href="'.$directorio.'/'.$valor.'" class="lightwindow hidden" rel="Random[Sample Images]" title="title" caption="caption" author="autor">image #'.$clave.'</a>';
}
?>
    <div class="page-footer">
        <p>&copy; Copyright 2007 <a href="http://www.stickmanlabs.com/"><small>stickmanlabs</small></a></p>
        <p>LightWindow is freely distributable under the terms of an MIT-style license.</p>
    </div>
</div>
</body>
</html>
si quieren los archivos que necesita lightwindow los pueden descargar desde aqui http://stickmanlabs.com/lightwindow/

nos leemos :)

espero que con soluciones si