The document discusses how to read metadata from JPEG and TIFF image files in PHP. It explains that PHP has capabilities to read image files and their associated metadata. It provides an example of using the exif_read_data() function to read metadata from a sample image file, displaying the results as an array. This includes details about the image like its size, camera make and model, and capture details. It then shows how to loop through the result array to output each metadata field.
1. [Tips] Membaca Metadata Image JPEG/TIFF
dengan PHP
PHP memiliki kemampuan membaca image / gambar. Dengan kemampuan itu tentu saja PHP mampu
membaca data-data asal yang terdapat dalam image tersebut. Biasanya data tersebut dinamakan
metadata. Proses pembacaan metadata itu cukup mudah, yaitu dengan memanfaatkan fungsi
exif_read_data(). Misal saya memiliki sebuah gambar berekstensi JPEG dengan nama satu.JPEG, yang
berasal dari hasil jepretan kamera digital. Maka data asal dari gambar tersebut dapat dibaca dengan
perintah berikut :
$data = exif_read_data('images/satu.jpg');
echo "< pre >";
print_r( $data );
echo "< /pre >";
Data yang muncul kira-kira seperti berikut:
Array
(
[FileName] => satu.jpg
[FileDateTime] => 1335936620
[FileSize] => 5441417
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP
[COMPUTED] => Array
(
[html] => width="4320" height="3240"
[Height] => 3240
[Width] => 4320
[IsColor] => 1
[ByteOrderMotorola] => 0
[ApertureFNumber] => f/2.9
3. [CompressedBitsPerPixel] => 500/100
[ShutterSpeedValue] => 8124/1000
[ApertureValue] => 3071/1000
[ExposureBiasValue] => 0/100
[MaxApertureValue] => 3171/1000
[MeteringMode] => 4
[LightSource] => 0
[Flash] => 24
[FocalLength] => 6300/1000
[MakerNote] =>
IP1:1 exp 130 agc: 95 cal_agc : 128 P2C : 16
.
.
.
dan seterusnya. Hanya diambil sebagian karena cukup panjang. Pada bagian tersebut terlihat hampir
semua properti pembuatan gambar tersebut. Antara lain dibuat kapan, dengan menggunakan kamera
apa, ukuran berapa. Untuk keperluan programming biasanya hasil ini akan diatur dengan penguraian
array lanjut. Antara lain kira-kira seperti berikut:
$data = exif_read_data('images/satu.jpg');
foreach($data as $key=>$val) {
if(is_array($val)) {
foreach($val as $k=>$v) {
echo $key."[$k]: $v<br />n";
}
} else
echo "$key: ".@substr($val,0,40)."<br />n";
}
Hasilnya kira-kira akan seperti berikut:
FileName: IMG_0495.JPG
FileDateTime: 1335936620
FileSize: 5441417
7. RelatedSoundFile:
InteroperabilityOffset: 4260
FileSource:
SceneType:
ExposureMode: 0
WhiteBalance: 0
DigitalZoomRatio: 100/100
FocalLengthIn35mmFilm: 36
SceneCaptureType: 33
Contrast: 0
Saturation: 0
Sharpness: 0
InterOperabilityIndex: R98
InterOperabilityVersion: 0100
Dengan demikian, sebenarnya situs-situs fotografi, atau lomba fotografi akan dapat mengetahui bahwa
sebenarnya gambar tersebut asli atau sudah ter-edit oleh software lain seperti potoshop dan lain
sebagainya, meski ternyata metadata ini juga dapat dilakukan editing, yang akan kita pelajari dalam
section lain. Ada yang berminat menjadi roy suryo moderen sebagai ahli metadata?? Silakan belajar
lebih lanjut . Untuk exif_read_data, hanya dapat digunakan jenis file JPG dan TIFF. Anda juga dapat
mengkombinasikan dengan form upload file.
Sekian, semoga bermanfaat