업로드 된 이미지의 이미지 방향을 iPhones에서 감지하고 그 방향을 조정하려고했습니다.exif 데이터 방향이 없습니다 - PHP 이미지 업로드
potrait에서 찍은 이미지를 -90도 회전하여 업로드하는 문제를 해결하려고합니다. 나는 작동하지 않는 switch 문을 여러 번 시도했기 때문에 JSON 반환에서 exif 데이터를 반환하기로 결정했습니다.
내가보기에 문제는 이들이 exif 데이터에서 방향이 없다는 것입니다.
나는 이렇게하고 있습니다 :
$imagefile = $fileToUpload["tmp_name"];
$destinationImage = imagecreatefromstring(file_get_contents($imagefile));
$exif = exif_read_data($imagefile);
$moveUploadedFile = imagejpeg($destinationImage, $this->uploadDir . "/" . $newFileName, 100);
imagedestroy($destinationImage);
if ($moveUploadedFile) {
$return['ort'] = $exif;
echo json_encode($return);
}
내가 뭘 (개똥 벌레를 사용) 내 대가로보고 있어요 것은 :
:FileName:"phpUQZFHh"
FileDateTime:1410465904
FileSize:473421
FileType:2
MimeType:"image/jpeg"
SectionsFound:"COMMENT"
Computed: OBJECT:
Height:700
Width:933
IsColor:1
Comment: ARRAY:
0:"CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100"
내가 EXIF 데이터과 같이 할 수 사용되고 싶어요
if (!empty($exif['Orientation'])){
//get the orientation
$ort = $exif['Orientation'];
//determine what oreientation the image was taken at
switch($ort){
case 2: // horizontal flip
break;
case 3: // 180 rotate left
$destinationImage = imagerotate($destinationImage, 180, -1);
break;
}
}
어떤 도움이 필요합니까?
편집 : 업로드 된 이미지를 다운로드하고 속성을 확인한 후 업로드 프로세스에서 모든 exif 데이터가 제거 된 것처럼 보입니다.
아직도 업로드 전/업로드 중에 어떻게 회전했는지에 대해 여전히 당황 스럽습니다.
왜 원래 수정되지 않은 원래 업로드 된 파일을 사용하는 대신 새로운 GD-lib 이미지를 여기에 만드나요? 이미지가 GD를 사용하여 생성되었다는 EXIF 데이터 한 줄만 얻으면 원본 EXIF 데이터를 잃어 버렸을 가능성이 큽니다. – CBroe
처음 GD 및 이미지 업로드 작업을하기 때문에 사과 드리지만 회신 내용을 명확하게 이해하지 못합니다. 이미지 데이터가 삭제되면 괜찮습니다.하지만 세로로 찍은 이미지는 업로드 할 때 계속 회전합니다. 원본 파일을 사용하는 대신 코드에서 이미지를 어디에 수정합니까? – Lovelock