szurubooru/src/Helpers/MimeHelper.php

38 lines
830 B
PHP
Raw Normal View History

2014-09-15 11:38:24 +02:00
<?php
namespace Szurubooru\Helpers;
class MimeHelper
{
public static function getMimeTypeFromFile($path)
{
$finfo = new \finfo(FILEINFO_MIME);
2014-09-16 18:53:22 +02:00
return self::stripCharset($finfo->file($path));
2014-09-15 11:38:24 +02:00
}
public static function getMimeTypeFromBuffer($buffer)
{
$finfo = new \finfo(FILEINFO_MIME);
return self::stripCharset($finfo->buffer($buffer));
}
public static function isFlash($mime)
{
return strtolower($mime) === 'application/x-shockwave-flash';
2014-09-15 11:38:24 +02:00
}
public static function isVideo($mime)
{
return strtolower($mime) === 'application/ogg' or preg_match('/video\//i', $mime);
2014-09-15 11:38:24 +02:00
}
public static function isImage($mime)
{
return in_array(strtolower($mime), ['image/jpeg', 'image/png', 'image/gif']);
2014-09-15 11:38:24 +02:00
}
private static function stripCharset($mime)
{
return preg_replace('/;\s*charset.*$/', '', $mime);
}
}