From dd788acaf0a7c3523cb7ca18870bf89a6b16c7bf Mon Sep 17 00:00:00 2001 From: Zankaria Date: Tue, 25 Mar 2025 22:38:38 +0100 Subject: [PATCH] metadata.php: rename from mime.php --- .../Media/DefaultImageMetadataReader.php | 45 +++++++++++++++++++ inc/functions/{mime.php => metadata.php} | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 inc/Service/Media/DefaultImageMetadataReader.php rename inc/functions/{mime.php => metadata.php} (95%) diff --git a/inc/Service/Media/DefaultImageMetadataReader.php b/inc/Service/Media/DefaultImageMetadataReader.php new file mode 100644 index 00000000..040a4f24 --- /dev/null +++ b/inc/Service/Media/DefaultImageMetadataReader.php @@ -0,0 +1,45 @@ +exif_reader_factory = $exif_reader_factory; + } + + public function getMetadata(string $file_path): ImageMetadata { + $ret = \getimagesize($file_path, $info); + if ($ret === false) { + throw new \RuntimeException("Could not read image sizes of '$file_path'"); + } + if ($ret[2] == \IMAGETYPE_UNKNOWN) { + throw new \RuntimeException("Error '$file_path' is not an image"); + } + + $width = $ret[0]; + $height = $ret[1]; + $mime = $ret['mime']; + $orientation = null; + + $exif_reader = $this->exif_reader_factory->getReader($mime); + if ($exif_reader !== null) { + $orientation = $exif_reader->getOrientation($file_path); + } + + return new ImageMetadata($width, $height, $mime, $orientation); + } +} diff --git a/inc/functions/mime.php b/inc/functions/metadata.php similarity index 95% rename from inc/functions/mime.php rename to inc/functions/metadata.php index 233beec8..4132f1dd 100644 --- a/inc/functions/mime.php +++ b/inc/functions/metadata.php @@ -1,5 +1,5 @@