PHP Programming
Fixing Orientasi Foto yang Diupload Dari Handphone Menggunakan PHP

Fixing Orientasi Foto yang Diupload Dari Handphone Menggunakan PHP

Oleh | Kamis, 14 April 2022 03:02 WIB | 2.081 Views | Comments 2022-04-14 03:02:02

Terkadang, foto yang diupload langsung dari handphone atau perangkat mobile memiliki orientasi yang berbeda, orientasi ini berdasarkan data EXIF atau metadata dari image itu sendiri. Jika dilihat dari handphone, foto itu benar berdiri (portrait) tetapi saat diupload dan dimunculkan malah menjadi tidur (landscape).  Lalu bagaimana caranya?

Bila menggunakan PHP, maka kita harus tau terlebih dahulu apakah fungsi membaca data EXIF sudah aktif atau belum di PHP. Namun, secara default di sistem operasi terakhir yang saya tahu, fitur ini secara otomatis sudah ada dan aktif di PHP. Jadi tinggal langsung menggunakan fungsi seperti dibawah ini:

function FixImageOrientation($filename) {
  if (function_exists('exif_read_data')) {
    $exif = exif_read_data($filename);
    if($exif && isset($exif['Orientation'])) {
      $orientation = $exif['Orientation'];
      if($orientation != 1){
        $img = imagecreatefromjpeg($filename);
        $deg = 0;
        switch ($orientation) {
          case 3:
            $deg = 180;
            break;
          case 6:
            $deg = 270;
            break;
          case 8:
            $deg = 90;
            break;
        }
        if ($deg) {
          $img = imagerotate($img, $deg, 0);        
        }
      imagejpeg($img, $filename, 95); //angka 95 ini adalah kualitas gambar, maksimum bisa 100
      }
    }
  } 
}

Nah setelah itu, kita bisa panggil fungsi diatas untuk fixing gambar yang orientasinya tidak sesuai dengan cara

$image = "path dari image/ atau hasil upload";
FixImageOrientation($image);


Semoga bermanfaat

 


Baca atau Download PDF Adi Sumaryadi - Bicara IT dan Internet







Mungkin anda tertarik menonton video tentang Mau Jadi Orang IT? Inilah Peta Jalan atau Roadmap yang Harus Ditempuh


PHP Programming Lainnya