[Ayuda]PHP-Ovillo - Quería consultarles sobre como armar una galería de fotos.

10 views
Skip to first unread message

Diseño Atsui

unread,
Jan 25, 2013, 7:42:45 PM1/25/13
to php-o...@googlegroups.com
¡Hola gente!. ¿Cómo están?. Otra vez estoy acá para ver si me pueden
dar una mano con este lenguaje tan amplio llamado PHP. Les cuento que
tengo un cliente que tiene una banda y quiere subir al sitio fechas,
vídeos y fotos. Por el lado de las fechas ya se como hacerlo (aunque
por ahora solo se hacer miniaturas con extensión .jpg). En lo que
respecta a subir vídeos le voy a decir que los ponga en You Tube y
luego ponga el enlace en la sección correspondiente (que para este
caso sería Multimedia en el apartado Vídeos), claro que previamente
voy a escribir el código que se encargue de hacer la subida de los
enlaces sencilla para él y que de como resultado algo así <a
href="enlaceobtenidodeyoutube">Profecía ancestral</a> y para
embellecer el asunto estoy probando agregar Jquery para que en lugar
de ir a You Tube el vídeo aparezca en la misma página, para esto voy a
probar la herramienta "Yoxview".

Pero el tema principal de mi consulta hoy es ¿cómo hacer una galería
de fotos?(según lo que yo tengo en mente, claro). La idea que estoy
teniendo hace un tiempo y que quiero llevar a cabo consiste en crear
una carpeta donde van a ir todas las fotos que compartan algo en
común, por ejemplo el día que tocaron en un lugar llamado "El Teatro",
luego de darle un nombre a la carpeta (quizás
"fecha_del_31_de_enero_en_el_teatro") poner todas las fotos de la
fecha ahí adentro, el siguiente paso sería ponerle un título que sería
"Fecha del 31 de Enero en El Teatro (justamente)", ese título una vez
terminado todo el proceso de subida de las fotos estaría arriba de
todas indicando que las fotos corresponden a esa fecha en particular.
Y finalmente asociar el nombre de la galería a la nueva galería de
fotos (aunque ya lo dije antes lo repito igual).
El problema es que no se por donde empezar (más precisamente no sé
como crear el código que haga todo lo que necesito) y es por eso que
vengo a consultarles a ustedes que con toda la experiencia que tienen
sobre sus hombros podrán orientarme con este asunto.

Bueno gente, desde ya mil gracias por su tiempo.

Éxitos y hasta la próxima.

Saluda atentamente,
Tadeo R. Calderón.

P.D.: Se que existe Piwigo pero prefiero seguir aprendiendo más de PHP
(y MySQL) por eso prefiero hacer todo yo.

--
http://www.disenioatsui.com.ar/

Jairo Ochoa

unread,
Jan 26, 2013, 7:12:39 PM1/26/13
to php-o...@googlegroups.com
Las galerías las puedes hacer guardando las fotos en la DB, o más bien su URl o incluso simplemente sus nombres.
Una tabla para las URL, el ALT de la foto y el id de galería.
Otra tabla para  los nombres de las galerías y la fecha.
La tabla de galerias se relaciona con cada foto por su id.

Para la visualización de fotos yo usaría fancybox.

Saludos
--
Has recibido este mensaje porque estás suscrito al grupo "PHP-Ovillo" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a php-o...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-ovillo+...@googlegroups.com
Visita este grupo en http://groups.google.com/group/php-ovillo?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.




--
--

Jairo Ochoa

Almacenamiento gratis / Free online backup
- Dropbox: http://db.tt/9kvYmtr
- SocialFolders: http://socialfolders.me/r/fkz9c


Diseño Atsui

unread,
Jan 27, 2013, 12:39:15 PM1/27/13
to php-o...@googlegroups.com
Muchísimas gracias Jairo Ochoa por tu sugerencia. Copio y pego lo que
me dijiste para tenerlo como material de consulta.
Y para que tengas una idea más clara sería esto lo que estoy buscando
(pero que se pueda administrar utilizando PHP por eso mi consulta ;) )
http://www.xaeclumnosferatus.com.ar/index.php?seccion_activa=fotos

Ahora uso colorbox aunque le encontré dos cosas que no me gustan. Uno,
cuenta todas las fotos juntas y no como hacia Yoxview (eso es porque
el class="group1" lo aplico a todas las fotos) y, segundo, no adapta
el tamaño de las fotos al navegador, o sea que si la imagen es grande
tengo que moverme con los cursores para verla completa. En fin, eso es
lo de menos. Con lo que me contaste ya tengo bastante para hacer.

Gracias nuevamente y hasta la próxima.

Atte,
Tadeo R. Calderón.

Jairo Ochoa

unread,
Jan 27, 2013, 7:43:22 PM1/27/13
to php-o...@googlegroups.com
Fancybox hace lo que necesitas:
- puedes abrirlas por separado
- puedes abrirlas en grupo (avanzar/retroceder imagen)
- puede decirle que la ventana se adapte a pantalla y si la foto es mayor no se saldrá fuera

Haces un CRUD con PHP que gestione las fotos, en la DB solo su nombre o la ruta, nunca la imagen, la imagen a disco
Y con PHP generas las galerias en el front end



--

Jairo Ochoa

Almacenamiento gratis / Free online backup
- Dropbox: http://db.tt/9kvYmtr
- SocialFolders: http://socialfolders.me/r/fkz9c



Diseño Atsui

unread,
Jan 28, 2013, 10:38:14 AM1/28/13
to php-o...@googlegroups.com
Mil gracias nuevamente Jairo Ochoa. Ya me pongo a revisar más en
profundidad el sitio de Fancybox así más adelante reemplazo Colorbox
por esta nueva herramienta. Luego me queda ver como crear carpetas
para cada nueva galería (si podes darme una mano bienvenido sea,
claro). Es que de esta manera si quiero guardar una carpeta en mi
disco rígido directamente entro en el administrador de archivos de
Byethost (o utilizo Filezilla) y descargo esa y solo esa carpeta, solo
es una cuestión organizativa del tipo personal :D

Mil gracias nuevamente Jairo Ochoa. Hasta pronto.

Saluda cordialmente,
Tadeo R. Calderón.

--
http://www.disenioatsui.com.ar/

Jairo Ochoa

unread,
Jan 28, 2013, 8:03:59 PM1/28/13
to php-o...@googlegroups.com
No necesitas carpetas/directorios ya que los archivos se refeencia en la DB.
La tabla de fotos si tiene los campos imagen, ALT (tag) e id_galeria, yo de nombraría la imagen al subirse como mi-descripción-de-la-foto.jpg, y si existe otra anterior igual le añades el sufijo _1, _2, ...
Todas juntas en el directorio uploads.
Y todo desde el CRUD hecho con PHP
--
Has recibido este mensaje porque estás suscrito al grupo "PHP-Ovillo" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a php-o...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-ovillo+...@googlegroups.com
Visita este grupo en http://groups.google.com/group/php-ovillo?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.




--

Diseño Atsui

unread,
Jan 29, 2013, 5:58:29 PM1/29/13
to php-o...@googlegroups.com
Entonces la necesidad de tener las fotos separadas por
carpetas/directorios es completamente innecesario. Sugerencia
agendada.

Te comento también que el siguiente código es el que utilizo para
procesar las imágenes y quería saber que le tengo que cambiar para que
se pueda utilizar según tus recomendaciones ("...nombraría la imagen
al subirse como mi-descripción-de-la-foto.jpg, y si existe otra
anterior igual le añades el sufijo _1, _2, ... ...":

<-- Inicio del código -->
<?php
function subir_imagen_novedades()
{
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$cad = "";

for($i=0;$i<30;$i++)
{
$cad .= substr($str,rand(0,62),1);
}

echo $cad;

$max_photo_size = 50000;
$upload_required = true;

$upload_dir = 'imagenes/archivos_subidos';

if(!isset($_FILES['Imagen']))
{
$err_msg = 'El formulario no fue enviado en su totalidad.';

echo $err_msg;
}
else
{
$ruta_flyer = $upload_dir.'/imagenes_novedades/'. $cad .'.jpg';

if( move_uploaded_file($_FILES ['Imagen']['tmp_name'], $ruta_flyer))
{
$ruta_flyer = $upload_dir.'/imagenes_novedades/'. $cad .'.jpg';
$ruta_flyer_miniatura =
$upload_dir.'/imagenes_novedades/miniaturas/'. $cad .'.jpg';

$ancho_predefinido = 200;

list($ancho_original, $alto_original) = getimagesize($ruta_flyer);

$nuevo_ancho = $ancho_predefinido;
$nuevo_alto = $ancho_predefinido * $alto_original / $ancho_original;

$miniatura = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$origen = imagecreatefromjpeg($ruta_flyer);

imagecopyresized($miniatura, $origen, 0, 0, 0, 0, $nuevo_ancho,
$nuevo_alto, $ancho_original, $alto_original);
imagejpeg($miniatura, $ruta_flyer_miniatura);

return $ruta_flyer;
}
else
{
return 0;
}
}
}
?>
<-- Fin del código -->

Listo entonces.

Muchísimas gracias por tu tiempo Jairo Ochoa. Y mil disculpas por las molestias.

Éxitos y hasta la próxima.

Saluda cordialmente,
Tadeo R. Calderón.

P.D.1: También estoy pensando agregar Jquery en lo que sería el título
de las galerías para que cuando una persona hace click ahí aparecen
las fotos deslizándose hacia abajo. Otra cosa más que agregaré (y esta
será sí o sí) es la paginación porque sino terminare con la paciencia
de los visitantes cuando la galería este más cargada de fotos que la
actual.

--
http://www.disenioatsui.com.ar/
Reply all
Reply to author
Forward
0 new messages