1

PHPでは、画像からEXIF情報を抽出しようとしています。コマンドラインとmod_phpで同じコードを実行すると、結果が大幅に異なります。

コマンドラインで必要なすべてのデータを確認できますが、mod_phpではごくわずかです。これはmbstringと関係があるのだろうかと思いますが、根本的な原因を正確に特定することはできません。

mod_phpでExifデータ全体を読み取る方法はありますか?

$exif = exif_read_data($fileLoc, "EXIF", true);

foreach ($exif as $i => $value) {
    if( ) {
        error_log("Debug:: In $i");
        foreach ($value as $j => $jvalue){
            error_log("      Debug: $j => $jvalue");
        }
    }
    else {
        error_log("Debug: $i => $value");
    }
}

mod_php出力:

 Debug:: In COMPUTED
       Debug: html => width="2592" height="1936"
       Debug: Height => 1936
       Debug: Width => 2592
       Debug: IsColor => 1 
       Debug: ByteOrderMotorola => 1
 Debug:: In IFD0
       Debug: Orientation => 1
       Debug: Exif_IFD_Pointer => 38
 Debug:: In EXIF
       Debug: ColorSpace => 1
       Debug: ExifImageWidth => 2592
       Debug: ExifImageLength => 1936

コマンドライン出力:

<snip>
Debug:: In EXIF
      Debug: ExposureTime => 1/120
      Debug: FNumber => 14/5
      Debug: ExposureProgram => 2
      Debug: ISOSpeedRatings => 100
      Debug: ExifVersion => 0221
      Debug: DateTimeOriginal => 2012:01:12 15:30:57
      Debug: DateTimeDigitized => 2012:01:12 15:30:57
      Debug: ComponentsConfiguration => 
      Debug: ShutterSpeedValue => 12989/1880
      Debug: ApertureValue => 4281/1441
      Debug: BrightnessValue => 19112/3529
      Debug: MeteringMode => 5
      Debug: Flash => 16
      Debug: FocalLength => 77/20
      Debug: SubjectLocation => Array
      Debug: FlashPixVersion => 0100
      Debug: ColorSpace => 1
      Debug: ExifImageWidth => 2592
      Debug: ExifImageLength => 1936
      Debug: SensingMethod => 2
      Debug: ExposureMode => 0
      Debug: WhiteBalance => 0
      Debug: SceneCaptureType => 0
      Debug: Sharpness => 2
Debug:: In GPS
      Debug: GPSLatitudeRef => N
      Debug: GPSLatitude => Array
      Debug: GPSLongitudeRef => W
      Debug: GPSLongitude => Array
      Debug: GPSAltitudeRef => 
      Debug: GPSAltitude => 0/1
      Debug: GPSTimeStamp => Array
4

0 に答える 0