それで、私はこれで2日間頭がおかしくなりました。Drupal 7 で構築したサイトがあります。
私が抱えている問題は、サイトのユーザーが iPhone または iPad から画像をアップロードすると (ckeditor とフォームを介してアップロードされたアカウント プロファイル画像の両方を介して)、画像が逆さまになってしまうことです。
画像のexifデータを読み取り、奇妙な問題に気付いたときに問題を検出するために、独立したphpを作成するところまで行きました。drupal にない場合、画像には exif 情報がありますが、drupal にアップロードすると、exif 情報が失われるようです。
このコードを使用してexif情報を読み取ります
$full_filename ='image.jpg';
$exif = exif_read_data($full_filename);
print "<pre>";
print_r($exif);
print "<pre>";
これは、drupal にアップロードされていないイメージから読み取った結果です。
Array
(
[FileName] => image4.jpg
[FileDateTime] => 1372430458
[FileSize] => 1568098
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF
[COMPUTED] => Array
(
[html] => width="2592" height="1936"
[Height] => 1936
[Width] => 2592
[IsColor] => 1
[ByteOrderMotorola] => 1
[ApertureFNumber] => f/2.8
[Thumbnail.FileType] => 2
[Thumbnail.MimeType] => image/jpeg
)
[Make] => Apple
[Model] => iPhone 4
[Orientation] => 6
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[Software] => 5.1.1
[DateTime] => 2013:06:28 09:18:53
[YCbCrPositioning] => 1
[Exif_IFD_Pointer] => 192
[THUMBNAIL] => Array
(
[Compression] => 6
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[JPEGInterchangeFormat] => 676
[JPEGInterchangeFormatLength] => 8886
)
[ExposureTime] => 1/24
[FNumber] => 14/5
[ExposureProgram] => 2
[ISOSpeedRatings] => 80
[ExifVersion] => 0221
[DateTimeOriginal] => 2013:06:28 09:18:53
[DateTimeDigitized] => 2013:06:28 09:18:53
[ComponentsConfiguration] =>
[ShutterSpeedValue] => 21632/4717
[ApertureValue] => 4281/1441
[BrightnessValue] => 94810/26881
[MeteringMode] => 5
[Flash] => 24
[FocalLength] => 77/20
[SubjectLocation] => Array
(
[0] => 1295
[1] => 967
[2] => 699
[3] => 696
)
[FlashPixVersion] => 0100
[ColorSpace] => 1
[ExifImageWidth] => 2592
[ExifImageLength] => 1936
[SensingMethod] => 2
[ExposureMode] => 0
[WhiteBalance] => 0
[SceneCaptureType] => 0
[Sharpness] => 2
)
これは drupal にアップロードされた画像からの情報です
Array
(
[FileName] => image3.jpg
[FileDateTime] => 1372355645
[FileSize] => 75670
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => COMMENT
[COMPUTED] => Array
(
[html] => width="1024" height="765"
[Height] => 765
[Width] => 1024
[IsColor] => 1
)
[COMMENT] => Array
(
[0] => CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75
)
)
drupal がこれと関係がある可能性はありますか。GD ツールキット?
imagecache autorotate を使用してみましたが、iPhone からアップロードされていない画像を回転させましたが、iPad や iPhone の画像ではうまくいきませんでした。
そもそもこれについてどうすればよいのかわかりません。すべてのヘルプは大歓迎です。