From 291ec9f378a12c7a2534d7d4368b6fef4f2f17ad Mon Sep 17 00:00:00 2001 From: mardikarifqi Date: Fri, 21 Feb 2020 09:00:31 +0700 Subject: [PATCH] Use exif_imagetype instead of path extension --- src/BrianMcdo/ImagePalette/ImagePalette.php | 41 +++++++++------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/src/BrianMcdo/ImagePalette/ImagePalette.php b/src/BrianMcdo/ImagePalette/ImagePalette.php index 45b1a3d..42b1f36 100644 --- a/src/BrianMcdo/ImagePalette/ImagePalette.php +++ b/src/BrianMcdo/ImagePalette/ImagePalette.php @@ -170,30 +170,23 @@ function($color) { */ protected function setWorkingImageGD() { - $extension = pathinfo($this->file, PATHINFO_EXTENSION); - - switch (strtolower($extension)) - { - case "png": - $this->loadedImage = imagecreatefrompng($this->file); - break; - - case "jpg": - case "jpeg": - $this->loadedImage = imagecreatefromjpeg($this->file); - break; - - case "gif": - $this->loadedImage = imagecreatefromgif($this->file); - break; - - case "bmp": - $this->loadedImage = imagecreatefrombmp($this->file); - break; - - default: - throw new UnsupportedFileTypeException("The file type .$extension is not supported."); - } + $type = exif_imagetype($this->file); + switch ($type) { + case IMAGETYPE_JPEG: + $this->loadedImage = imagecreatefromjpeg($this->file); + break; + case IMAGETYPE_PNG: + $this->loadedImage = imagecreatefrompng($this->file); + break; + case IMAGETYPE_GIF: + $this->loadedImage = imagecreatefromgif($this->file); + break; + case IMAGETYPE_BMP: + $this->loadedImage = imagecreatefrombmp($this->file); + break; + default: + throw new UnsupportedFileTypeException("The file type {$this->file} is not supported."); + } } /**