From 6d3f669603023a554310e1dfc0c1a8993f753472 Mon Sep 17 00:00:00 2001 From: yggverse Date: Wed, 17 Jul 2024 17:15:25 +0300 Subject: [PATCH] add getMimeByPath, getMimeByData methods --- src/Model/Filesystem.php | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/Model/Filesystem.php b/src/Model/Filesystem.php index d80ed5c8..2f3e294f 100644 --- a/src/Model/Filesystem.php +++ b/src/Model/Filesystem.php @@ -187,6 +187,55 @@ class Filesystem ); } + public static function getMimeByPath( + ?string $path = null + ): ?string + { + if ($path) + { + switch ( + pathinfo( + $path, + PATHINFO_EXTENSION + ) + ) { + case 'gmi': + case 'gemini': + + return 'text/gemini'; + + case 'txt': + + return 'text/plain'; + } + } + + return null; + } + + public static function getMimeByData( + ?string $data = null + ): ?string + { + if ($data) + { + $mime = ( + new \Finfo( + FILEINFO_MIME_TYPE + ) + )->buffer( + $data + ); + + if ($mime) + { + return $mime; + } + } + + return null; + } + private static function _fixDirectorySeparators( string $path, string $separator = DIRECTORY_SEPARATOR