Páginas

Extraer metadatos de imagenes con php

¿Que aprenderemos hoy?

a saber si una foto a sido retocada, y poder ver la imagen original.

Bien los meta-datos son Información que se guarda automáticamente al generar un archivo: .doc, .jpg,etc. y que no son visibles al ojo humano.

Esta información la genera el software que se utilizo para crear el archivo en el caso de las fotos, por ejemplo la genera el software de la cámara fotográfica ( solo si es digital ¬¬).

en el caso de las fotografiás un tipo de meta-datos son los EXIF.

bien los meta-datos EXIF contienen información importante como : fecha original, modelo de la cámara,etc. pero lo mas importante y en lo que se fijara este post es extraer el "THUMBNAIL" original.

Para los que no sabían cada vez que se modifica una imagen se guarda una copia en miniatura de la original que no se podría observar a simple vista, pero con algo de código podremos extraerlo.

ejemplo:

aquí vemos una foto trucada y a su lado el thumbnail extraido ( la foto original)


¿Como la extraemos con PHP ?

con exif_thumbnail:

eh aquí un pequeño código el cual puedes modificar:

------------------------------------------------------------------------

<?php


set_time_limit ( 0 );


function getmicrotime () {


$temparray = split ( " " , microtime ());


$returntime = $temparray [ 0 ]+ $temparray [ 1 ];


return $returntime ;


}


 





$maindir = "." ;


$mydir = opendir ( $maindir ) ;


$starttime = getmicrotime ();


$i = 0 ;


while( $fn = readdir ( $mydir ))


{


$startimagetime = getmicrotime ();


$ext = strtolower ( substr ( $fn , strlen ( $fn )- 3 ));


if ( $ext == "jpg" ) {


$i ++;


echo $fn . " se proceso satisfactorio<br>" ;


flush ();


 


$image = exif_thumbnail ( $fn , $width , $height , $type );


if ( $image !== false ) {


 


$handle = fopen ( $fn . ".thumb.jpg" , 'a' );


echo "<img src='".$fn."' width='400' height='301' />";


echo "<img src='".$fn .".thumb.jpg' width='400' height='301' />";


fwrite ( $handle , $image );


} else {


echo "imagen de miniatura no disponible para: " . $fn . "<br>" ;


echo "<img src='".$fn.".thumb.jpg' width='400' height='301' />";


}


}


}


closedir ( $mydir );


$endtime = getmicrotime ();


echo "<br>Tiempo tardado " ;


print $endtime - $starttime ;


echo "<br> Imagenes procesadas: " . $i ;


 


?>




---------------------------------------------------------------------

simplemente montalo en localhost, mete las fotos en la carpeta raíz y voala , podrás ver las fotos originales .

Saludos Dr. NeoX. :)



0 comentarios:

Los mejores blog del mundo

Sigueme

Las mas bonitas