http://siisise.net/jpeg.html
<?php
function get_jpeg_dpi( $file ) {
$JFIF_POS = 6;
$JFIF_LEN = 4;
$RESOLUTION_POS = 15;
$RESOLUTION_LEN = 2;
$fh = fopen( $file, 'rb' );
fseek( $fh, $JFIF_POS );
$jfif = fread( $fh, $JFIF_LEN );
fseek( $fh, $RESOLUTION_LEN );
$h = fread( $fh, $RESOLUTION_LEN );
$v = fread( $fh, $RESOLUTION_LEN );
fclose( $fh);
if ( $jfif != 'JFIF' ) {
return;
}
$vals = array_merge( unpack( 'c', $h ), unpack( 'c', $v ));
$keys = array( 'h', 'v' );
$ret = array();
foreach($keys as $k => $v) {
$ret[(string)$v] = $vals[$k];
}
return $ret;
}
var_dump( get_jpeg_dpi( 'path/to/hoge.jpg ) );
?>