Foros del Web » Programando para Internet » PHP »

leer las cabeceras EXIF desde varios archivos jpg

Estas en el tema de leer las cabeceras EXIF desde varios archivos jpg en el foro de PHP en Foros del Web. hola amigos del foro espero me puedan ayudar necesito leer las cabeceras EXIF desde varios archivos jpg, para este proposito estoy utilizando exif_read_data() pero revisando ...
  #1 (permalink)  
Antiguo 05/08/2012, 22:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
leer las cabeceras EXIF desde varios archivos jpg

hola amigos del foro espero me puedan ayudar

necesito leer las cabeceras EXIF desde varios archivos jpg, para este proposito estoy utilizando exif_read_data() pero revisando la docuementacion http://php.net/manual/es/function.exif-read-data.php : exif_read_data — Lee las cabeceras EXIF desde un JPEG o un TIFF como podria leer las cabeceras de muchos archivos jpg

hasta el momento tengo el siguiente codigo que lee la cabecera de un solo archivo jpg

Código PHP:
Ver original
  1. $datos = exif_read_data('imagenes/Persp20120726_055526M.jpg');
  2.     echo "Tama&ntilde;o: ".$datos['FileSize']." bytes<br />";
  3.     echo "Alto: ".$datos['COMPUTED']['Height']."<br />";
  4.     echo "Ancho: ".$datos['COMPUTED']['Width']."<br />";
  5.     echo "Fecha: ".$datos['FileDateTime']."<br />";


las imagenes estan en un directorio
  #2 (permalink)  
Antiguo 06/08/2012, 08:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 39
Antigüedad: 12 años, 3 meses
Puntos: 5
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

recorriendo el directorio en mención:

Código PHP:
Ver original
  1. /* Directorio */
  2.     $dir= "images/galerias/";
  3.     $directorio=(opendir($dir));
  4.  
  5.     /*Recorro el directorio */
  6.     while ($archivo = readdir($directorio))
  7.     {   /* Descarto ciertos archivos y directorios, estos filtros a tu gusto */
  8.         if ($archivo!="." and $archivo!=".." and $archivo!="config" and is_dir($dir.$archivo))
  9.         {   /* Aquí proceso mis archivos, en mi caso los guardo en un array*/
  10.             $entradas[$archivo] = filemtime($dir.$archivo);
  11.         }
  12.     }

Suerte
  #3 (permalink)  
Antiguo 06/08/2012, 09:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

wlinker gracias por responder y gracias por colaborarme con el codigo, tengo una duda

deacuerdo a tu codigo recorro los archivos de un directorio hasta ahi todo va bien pero lo que necesito es que a cada archipo jpg aplicarle exif_read_data , para un archivo funciona ya que se indica el nombre del archivo pero para muchos archivos como realizo esto?
  #4 (permalink)  
Antiguo 06/08/2012, 09:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

Tal como te dijo wlinker, tienes que hacer un ciclo al directorio y pasarle uno por uno a la función para leer sus datos, no puedes usar archivos múltiples, tienes que hacerlo 1 a 1.
  #5 (permalink)  
Antiguo 06/08/2012, 12:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

hola GatorV gracias por responder tengo claro lo de hacerle el ciclo al directorio pero como hago para pasarle el archivo .jpg a la funcion

porque todos los archivos que tengo que leer son jpg

Última edición por Montes28; 06/08/2012 a las 13:17
  #6 (permalink)  
Antiguo 06/08/2012, 14:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

Puedes usar glob:
Código PHP:
Ver original
  1. foreach (glob("*.jpg") as $file) {
  2.       // Aqui tu funcion para leer el exif
  3.       $datos = exif($file);
  4. }
  #7 (permalink)  
Antiguo 06/08/2012, 14:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

GatorV gracias por responder pero tengo un par de dudas espero me puedas ayudar.

tengo varios archivos .jpg y quero mostrarlos en pantalla con el nombre y con la fecha de creacion , estos datos los estoy sacando con la funcion EXIF con el siguiento codigo solo puedo visualizar en pantalla

Fecha: P
Fecha: f

Código PHP:
Ver original
  1. foreach (glob("*.jpg") as $file) {
  2.      
  3.       exif_read_data($file);
  4.      
  5.       echo "Fecha: ".$file['FileDateTime']."<br />";
  6.      
  7. }
  #8 (permalink)  
Antiguo 06/08/2012, 14:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

hola amigos yo mismo me respondo

Código PHP:
Ver original
  1. foreach (glob("*.jpg") as $file) {
  2.      
  3.      $datos = exif_read_data($file);
  4.      
  5.       echo "Fecha: ".$datos['FileDateTime']."<br />";
  6.      
  7. }

hasta el momento imprimo la fecha de creacion del archivo , me falta imprimir el nombre del archivo
  #9 (permalink)  
Antiguo 06/08/2012, 18:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

Amigos como se portaria el servidor al ejecutar el script para mas 15000 archivos?

esta es la mejor manera ? o existe otra forma mas eficiente?
  #10 (permalink)  
Antiguo 06/08/2012, 22:30
 
Fecha de Ingreso: agosto-2012
Mensajes: 39
Antigüedad: 12 años, 3 meses
Puntos: 5
Respuesta: leer las cabeceras EXIF desde varios archivos jpg

si tienes un buen servidor no creo que tengas problemas, aunque yo te diria que podrías tener otras dos soluciones:

1.- Al ir recorriendo tu directorio, ir guardando en una base de datos, así únicamente harias cada que quisieras consultar tu info un "select * from tabla_fotos" y reducirias enormemente la carga de trabajo a tu servidor.

2.- hacer algo como un "cache" de tu página de lectura, cómo? leyendo y guardado en una variable todo el contenido de como crearas tu "galeria" o lo que sea que vayas a hacer con tus imagenes, y despues guardarlo con alguna extension como php o html (stream de archivos)

ojala te sirva la info, saludos.

Etiquetas: cabeceras, exif, jpg
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 13:15.