Leer datos EXIF con PHP

0 - , , - 13/01/2009 07:00:00

Con PHP podemos acceder a los datos almacenados en las cabeceras EXIF de las imágenes JPEG o TIFF. Los datos EXIF, son normalmente generados por las cámaras digitales y extraerlos mediante PHP puede ser una manera interesante de obtener información adicional acerca de las fotografías: fecha de realización de la foto, datos de la fotografía (apertura del diafragma, velocidad del obturador, distancia focal, exposición, ISO, si se usó Flash, ..), información de la cámara digital (marca de la cámara, modelo..., etc). Con el siguiente código, por ejemplo, leeriamos y mostrariamos todas las cabeceras EXIF presentes en una foto.

<?php
$datos = exif_read_data('foto1.jpg');
foreach($datos as $parametro_exif=>$valor_exif) {
if(is_array($valor_exif)) {
foreach($valor_exif as $k=>$v) {
echo $parametro_exif."[".$k."]: ".$v."<br />\n";
}
} else
echo $parametro_exif.": ".substr($valor_exif,0,40)."<br />\n";
}
?>

Ver ejemplo en funcionamiento » »

Para éste y los siguientes ejemplos se ha utilizado la siguiente imagen: "petit carré de nature".

Supongamos que únicamente deseamos extraer el tamaño y las dimensiones de la imagen, podríamos acceder a cada uno de estos datos de esta forma:

<?php
$datos = exif_read_data('foto1.jpg');
echo "Tama&ntilde;o: ".$datos['FileSize']." bytes<br />";
echo "Alto: ".$datos['COMPUTED']['Height']."<br />";
echo "Ancho: ".$datos['COMPUTED']['Width']."<br />";
?>

Ver ejemplo en funcionamiento » »

Otra función PHP asociada a los datos EXIF de una fotografía es exif_thumbnail, que lee la miniatura incrustada de una imagen TIFF o JPEG. La función nos devolverá FALSE si la miniatura no existe con lo que podríamos evitarnos generar thumbnails o miniaturas mediante PHP, cuando éstas ya estén incrustadas en las imágenes con las que estemos trabajando y generar el thumbnail en el caso de que la función exif_thumbnail nos devuelva FALSE. Un ejemplo que mostraría la miniatura sobre una imagen sería.

<?php
Header('Content-type: image/jpeg');
echo exif_thumbnail('foto1.jpg')
?>

Ver ejemplo en funcionamiento » »

Descargar los tres ejemplos » »

Deja tu comentario

  • El comentario debe estar relacionado con el contenido de la entrada.
  • Comentarios ofensivos, con spam o con lenguaje inapropiado serán eliminados.

captcha