Foros del Web » Programando para Internet » PHP »

Generar url dinamicamente con php

Estas en el tema de Generar url dinamicamente con php en el foro de PHP en Foros del Web. Hola amigos gracias al foro logre adaptar el siguiente codigo para recorrer un directorio y leer todos los archivos .jpg y con la funcion exif_read_data ...
  #1 (permalink)  
Antiguo 06/08/2012, 20:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Generar url dinamicamente con php

Hola amigos

gracias al foro logre adaptar el siguiente codigo para recorrer un directorio y leer todos los archivos .jpg y con la funcion exif_read_data Leo las cabeceras EXIF desde un JPEG

necesito generar un url href de la siguiente manera

Persp20120726_055526M.jpg

donde

las contastes :Persp , _ , M
las variables :
el parametro que sigue es la fecha el cual lo obtengo strftime("%Y-%m-%d-%H:%M",$datos['FileDateTime']) _tiempo formato 24 horas.



Código PHP:
Ver original
  1. foreach (glob("imagenes/*.jpg") as $file) {
  2.  
  3.              $datos = exif_read_data($file);
  4.  
  5.  
  6. echo "Nombre Archivo: ".$datos['FileName']."Fecha:".strftime("%Y-%m-%d-%H:%M",$datos['FileDateTime'])."<a href='l'>"."Ver Imagen"."</a>"."<br />";
  7.      
  8.      
  9. }
  #2 (permalink)  
Antiguo 06/08/2012, 23:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Generar url dinamicamente con php

Cita:
Iniciado por Montes28
las contastes :Persp , _ , M
las variables :
el parametro que sigue es la fecha el cual lo obtengo strftime("%Y-%m-%d-%H:%M",$datos['FileDateTime']) _tiempo formato 24 horas.
Y si las contastes... cuantas jueron?

Quieres mostrar el nombre de la imagen en base a fecha y hora de creación?...

$nombre = 'Persp' . strftime("%Y%m%d_%H%M%S", $datos['FileDateTime']) . 'M.jpg';

Desconozco si funcionará, porque no me es familiar strftime(), pero puedes probar y, si algo falla, consulta el manual: www.php.net

Ahora, pregunto: Tienes contemplado que al mostrar la imagen deberás leer nuevamente toda la carpeta y buscar archivo por archivo para ver cuál tiene esa fecha y hora... y, además, es posible que exista más de uno.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/08/2012, 08:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Generar url dinamicamente con php

Triby gracias por contestar

no habia contemplado esa parte en la que indicas

"Ahora, pregunto: Tienes contemplado que al mostrar la imagen deberás leer nuevamente toda la carpeta y buscar archivo por archivo para ver cuál tiene esa fecha y hora... y, además, es posible que exista más de uno."

mira te comento la situacion , tengo instalada una camara web la cual guarda en un servidor cada minuto una imagen lo que requiero es consultar las imagenes guardadas , las imagenes tienen un nombre diferente.

que me aconsejas para realizar esta consulta?
  #4 (permalink)  
Antiguo 07/08/2012, 09:45
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Generar url dinamicamente con php

Cita:
Iniciado por Montes28 Ver Mensaje
triby que ideas me dar para mejorar ?

guardo en base de datos?
Exacto!! podrias guardar el nombre de las imagenes en una tabla y asignarles un id(este id deberia ir en el nombre de las imagenes tambien) de este modo evitarias que se repitan los nombres y ademas la busqueda te seria mas facil..

Para mejorarlo podrias agregar un campo datetime que guardara la fecha y hora de cuando fue tomada la imagen y asi no seria necesario agregar este dato en el nombre del archivo ademas de que las busquedas serian mucho mas rapidas
__________________
Recursos para diseñadores
lacatedradeboris.com
  #5 (permalink)  
Antiguo 07/08/2012, 10:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Generar url dinamicamente con php

HackGhost gracias por responder

tengo un par de dudas

pero en la base de datos guardaria la imagen o una url ?

el procedimiento es este se toma la imagen y se guarda en un servidor , como hago para que se guarde en la base ?
  #6 (permalink)  
Antiguo 07/08/2012, 11:03
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Generar url dinamicamente con php

Yo primero que nada generaria un nombre unico para la imagen y ese nombre lo agrego a la base de datos( ej: imagen0000001.jpg) con la fecha y hora que se tomo la foto..

para mostrarlos solo constuiria una ruta algo asi

"imagenes/fotos/".$imagen['nombre_imagen']

No se como haces para guardar las imagenes por eso no puedo ayudarte mucho..

Logicamente antes se tendria que haber hecho una consulta que se guardara en la variable $imagen
__________________
Recursos para diseñadores
lacatedradeboris.com
  #7 (permalink)  
Antiguo 07/08/2012, 12:48
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Generar url dinamicamente con php

HackGhost gracias por responder

las camaras que utilizo son vivotek , por web se configuran para guardar las imagenes via ftp a un servidor.

lo que tengo pensado hacer es un script que recorra el directorio donde estan las imagenes y mediante la funcion funcion exif_read_data leer las cabeceras pero ya encontre un problema las cabeceras llegan con otra hora - tiempo diferente al que fue tomada la imagen, pero el nombre con el que se guarda la imagen si corresponde a la fecha real (Persp20120726_055526M.jpg)

despues de contarte como se guardan las imagenes como me aconsejas que realice el script , la idea es utilizar php y postgresql.
  #8 (permalink)  
Antiguo 07/08/2012, 13:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Generar url dinamicamente con php

Bueno, la cosa no parece tan difícil, si las imágenes ya vienen con el nombre adecuado no necesitas extras para armar los enlaces; yo creí que eso del nombre era para mostrar el enlace en una forma "más presentable".

Ni siquiera necesitas leer los EXIF, puesto que sólo tomas la fecha y ésta ya viene integrada en el nombre, sólo revisa la función substr()

Ejemplo para obtener el año de Persp20120726_055526M.jpg y hacer el enlace:

Código PHP:
Ver original
  1. <?php
  2. $img = 'Persp20120726_055526M.jpg;
  3. $year = substr(6, 4, $img);
  4. // Lee el manual de la función para que sepas como obtener mes, día, hora, etc.
  5.  
  6. // El enlace a la imagen es tan sencillo como:
  7. ?>
  8.  
  9. <a href="imagenes/<?php echo $img; ?>">Ver imagen</a>
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 07/08/2012, 14:01
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Generar url dinamicamente con php

Triby gracias por responder

tengo una duda le directorio contiene una suma considerable de imagenes mas de 80 mil imagenes es recomendable la forma como esta construido este script.
  #10 (permalink)  
Antiguo 07/08/2012, 14:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Generar url dinamicamente con php

Wow, creo que eso sería muy lento, tal vez podrías mostrar por días o semanas, la función glob te puede ser muy útil, ejemplo:

Código PHP:
Ver original
  1. $year = 2012;
  2. $month = '08';
  3. $day = '07';
  4. $imágenes = glob("imagenes/Persp$year$month$day_*.jpg");
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 07/08/2012, 17:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Generar url dinamicamente con php

Triby gracias por responder

osea que podria colocar un Datepicker y selecccionar las imagenes por mes ,dia .. etc?

seria buena forma o seria mucha carga para el servidor

Etiquetas: dinamicamente, url, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.