Skip to content

Commit

Permalink
0.14.3
Browse files Browse the repository at this point in the history
- fix detect file extension
- unified upload method
  • Loading branch information
Karel Wintersky committed Nov 27, 2024
1 parent f07a301 commit 61c0597
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion src/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,45 @@ public static function init(array $options = [], array $content_dirs = [], Logge
self::$logger = is_null($logger) ? new NullLogger() : $logger;
}

/**
* Универсальная точка входа - upload
* Тип определяется внутри
*
* @throws Exception
*/
public function upload($fn_source, $watermark_corner, LoggerInterface $logger = null):Result
{
$logger = $logger ?? self::$logger ?? new NullLogger();

$f_info = finfo_open( FILEINFO_MIME_TYPE );
$f_info_mimetype = finfo_file( $f_info, $fn_source);
$allow = false;

foreach (AllowedMimeTypes::$allowed_mime_types as $mimetype) {
if (stripos( $f_info_mimetype, $mimetype ) === 0) {
$allow = true;
break;
}
}

if (!$allow) {
return new Result(false, "[UPLOAD] Загружен файл с неразрешенным MIME-типом `{$f_info_mimetype}`" );
}

if (stripos($f_info_mimetype, 'image/') !== false) {
$result = Media::uploadImage($fn_source, $watermark_corner, $logger);
} elseif (stripos( $f_info_mimetype, 'audio/' ) !== false) {
$result = Media::uploadAudio( $fn_source, $logger );
} elseif (stripos( $f_info_mimetype, 'video/' ) !== false) {
$result = Media::uploadVideo( $fn_source, $logger );
} else {
$result = Media::uploadAnyFile( $fn_source, $logger );
}

return $result;

}

/**
* upload & create thumbnails for Embedded Photo
*
Expand All @@ -73,7 +112,8 @@ public static function uploadImage($fn_source, $watermark_corner, LoggerInterfac
$path = self::getAbsoluteResourcePath('photos', 'now');
self::validatePath($path);
$radix = self::getRandomFilename(20);
$source_extension = MimeTypes::fromExtension( MimeTypes::fromFilename($fn_source) );
// $source_extension = MimeTypes::fromExtension( MimeTypes::fromFilename($fn_source) );
$source_extension = MediaHelpers::detectFileExtension($fn_source);

$resource_filename = "{$radix}.{$source_extension}";

Expand Down

0 comments on commit 61c0597

Please # to comment.