499 protected string $fallback = self::APPLICATION__OCTET_STREAM;
504 if (str_contains($path_to_file,
'http://') || str_contains($path_to_file,
'https://')) {
507 $parts = parse_url($path_to_file);
518 $suffix_map = include
"mime_type_map.php";
520 foreach ($suffix_map as $k => $v) {
521 $type = is_array($v) ? $v[0] : $v;
522 $map[
'.' . $k] = $type;
532 public static function getMimeType(
string $a_file =
'',
string $a_filename =
'',
string $a_mime =
''): string
535 if ($a_filename !==
'' && $a_filename !==
'0') {
537 } elseif ($a_file !==
'' && $a_file !==
'0') {
541 return self::lookupMimeType($path, $a_mime);
545 string $path_to_file,
546 string $fallback = self::APPLICATION__OCTET_STREAM,
547 bool $a_external =
false 549 $obj =
new self($path_to_file);
551 $obj->setExternal($a_external);
553 $obj->setFallback($fallback);
558 public function get():
string 561 $suffix_map = include
"mime_type_map.php";
563 if (is_int(strpos($this->
getPath(),
'youtube.')) ||
564 is_int(strpos($this->
getPath(),
'youtu.be'))
566 return self::VIDEO__YOUTUBE;
568 if (is_int(strpos($this->
getPath(),
'vimeo.'))) {
569 return self::VIDEO__VIMEO;
573 if (!is_array($suffix_map[$this->
getSuffix()])) {
576 return $suffix_map[$this->
getSuffix()][0];
578 if (extension_loaded(
'Fileinfo') && is_file($this->
getPath())) {
579 $finfo = finfo_open(FILEINFO_MIME_TYPE);
580 $info = finfo_file($finfo, $this->
getPath());
605 protected function setPath(
string $path): void
618 $this->suffix = strtolower($suffix);
const APPLICATION__VND_MS_EXCEL
const APPLICATION__X_LOTUSSCREENCAM
static getMimeType(string $a_file='', string $a_filename='', string $a_mime='')
const APPLICATION__ECMASCRIPT
const APPLICATION__VND_WAP_WMLC
const IMAGE__X_CMU_RASTER
const APPLICATION__X_PKCS7_CERTREQRESP
const APPLICATION__VND_MS_POWERPOINT
const IMAGE__VND_WAP_WBMP
const APPLICATION__XHTML_XML
const VIDEO__X_MOTION_JPEG
const TEXT__X_JAVA_SOURCE
const APPLICATION__X_VND_AUDIOEXPLOSION_MZZ
const APPLICATION__X_MPLAYER2
const APPLICATION__X_PAGEMAKER
const APPLICATION__X_GZIP
const APPLICATION__X_MIDI
const APPLICATION__X_MSEXCEL
const APPLICATION__X_MACBINARY
const APPLICATION__X_COMPRESSED
const TEXT__X_SCRIPT_PERL
const APPLICATION__MSWORD
const APPLICATION__X_AUTHORWARE_MAP
const APPLICATION__X_MAGIC_CAP_PACKAGE_1_0
const APPLICATION__X_INVENTOR
const APPLICATION__X_MSPOWERPOINT
const APPLICATION__X_COCOA
const TEXT__X_SCRIPT_LISP
const IMAGE__X_PORTABLE_GRAYMAP
const APPLICATION__X_TBOOK
const APPLICATION__X_COMPACTPRO
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_PRESENTATIONML_TEMPLATE
const IMAGE__X_PORTABLE_ANYMAP
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
const APPLICATION__MAC_COMPACTPRO
setFallback(string $fallback)
const APPLICATION__PKCS_12
const APPLICATION__X_AUTHORWARE_BIN
const APPLICATION__X_WINTALK
const APPLICATION__FREELOADER
const APPLICATION__X_LATEX
const X_CONFERENCE__X_COOLTALK
const APPLICATION__X_MAC_BINHEX40
const VIDEO__X_AMT_DEMORUN
const AUDIO__X_VND_AUDIOEXPLOSION_MJUICEMEDIAFILE
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_WORDPROCESSINGML_DOCUMENT
const APPLICATION__X_TROFF_MAN
const APPLICATION__X_ESREHBER
const APPLICATION__X_USTAR
const APPLICATION__GNUTAR
const APPLICATION__X_WAIS_SOURCE
const APPLICATION__X_BZIP
const APPLICATION__PKCS10
const APPLICATION__X_NOKIA_9000_COMMUNICATOR_ADD_ON_SOFTWARE
const APPLICATION__X_LISP
const TEXT__X_SCRIPT_PHYTON
const APPLICATION__VND_MS_EXCEL_SHEET_BINARY_MACRO_ENABLED_12
const APPLICATION__X_TROFF
const IMAGE__X_XWINDOWDUMP
const VIDEO__X_MS_ASF_PLUGIN
const APPLICATION__X_MEME
const APPLICATION__MAC_BINHEX40
const APPLICATION__X_JAVASCRIPT
const APPLICATION__X_TROFF_ME
const TEXT__VND_RN_REALTEXT
const APPLICATION__VOCALTEC_MEDIA_FILE
const APPLICATION__JAVA_BYTE_CODE
const APPLICATION__X_JAVA_COMMERCE
const APPLICATION__PRO_ENG
const APPLICATION__X_WINHELP
const APPLICATION__X_NAVIMAP
const APPLICATION__X_SV4CRC
const IMAGE__X_PORTABLE_GREYMAP
const APPLICATION__CLARISCAD
const IMAGE__VND_RN_REALFLASH
const APPLICATION__X_CPIO
const APPLICATION__X_FRAME
const APPLICATION__GROUPWISE
const TEXT__X_SCRIPT_ELISP
const APPLICATION__X_PKCS10
const APPLICATION__X_TROFF_MSVIDEO
const APPLICATION__X_PKCS7_SIGNATURE
const APPLICATION__VND_RN_REALMEDIA
const APPLICATION__VOCALTEC_MEDIA_DESC
const AUDIO__X_TWINVQ_PLUGIN
const APPLICATION__SOUNDER
const IMAGE__X_PORTABLE_PIXMAP
const VIDEO__X_ATOMIC3D_FEATURE
const APPLICATION__TOOLBOOK
static lookupMimeType(string $path_to_file, string $fallback=self::APPLICATION__OCTET_STREAM, bool $a_external=false)
const APPLICATION__X_BINHEX40
const APPLICATION__X_SV4CPIO
const APPLICATION__VND_MS_PKI_STL
const APPLICATION__X_POINTPLUS
const APPLICATION__VND_WAP_WMLSCRIPTC
const TEXT__X_SCRIPT_REXX
setExternal(bool $external)
const APPLICATION__VND_FDF
const APPLICATION__X_MIX_TRANSFER
const VIDEO__VND_RN_REALVIDEO
const APPLICATION__VND_MS_EXCEL_ADDIN_MACRO_ENABLED_12
const APPLICATION__JAVASCRIPT
const APPLICATION__POWERPOINT
const APPLICATION__X_WPWIN
const APPLICATION__X_NAVISTYLE
const APPLICATION__X_SHAR
const TEXT__X_SCRIPT_PERL_MODULE
const APPLICATION__X_VISIO
const APPLICATION__X_DIRECTOR
const TEXT__TAB_SEPARATED_VALUES
const APPLICATION__X_BCPIO
const APPLICATION__X_SPRITE
const APPLICATION__X_HTTPD_IMAP
const APPLICATION__X_BINARY
const APPLICATION__POSTSCRIPT
const APPLICATION__VND_MS_PKI_PKO
const APPLICATION__VND_MS_PKI_SECCAT
const APPLICATION__WORDPERFECT6_0
const TEXT__VND_FMI_FLEXSTOR
const APPLICATION__WORDPERFECT
const APPLICATION__X_PROJECT
const IMAGE__X_WINDOWS_BMP
const APPLICATION__PKIX_CERT
const VIDEO__X_AMT_SHOWRUN
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_SPREADSHEETML_SHEET
const APPLICATION__OCTET_STREAM
const APPLICATION__VND_MS_PROJECT
const APPLICATION__X_AUTHORWARE_SEG
const APPLICATION__X_GTAR
const APPLICATION__X_MATHCAD
const APPLICATION__X_NAVIDOC
const APPLICATION__BINHEX4
const APPLICATION__X_LOTUS
const APPLICATION__X_EXCEL
const APPLICATION__X_ZIP_COMPRESSED
const APPLICATION__X_PORTABLE_ANYMAP
const APPLICATION__X_WORLD
const APPLICATION__X_CONFERENCE
const APPLICATION__MBEDLET
const APPLICATION__I_DEAS
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_PRESENTATIONML_SLIDE
const APPLICATION__X_LIVESCREEN
const APPLICATION__X_CMU_RASTER
const APPLICATION__COMMONGROUND
const APPLICATION__X_OMCDATAMAKER
const APPLICATION__PKCS_CRL
const TEXT__X_SERVER_PARSED_HTML
const AUDIO__X_PN_REALAUDIO_PLUGIN
const APPLICATION__X_OMCREGERATOR
const APPLICATION__X_CHAT
const APPLICATION__X_VRML
const APPLICATION__X_DEEPV
const APPLICATION__X_NAVI_ANIMATION
const APPLICATION__X_TEXINFO
const APPLICATION__MSWRITE
const TEXT__VND_WAP_WMLSCRIPT
const APPLICATION__X_NETCDF
const APPLICATION__X_PIXCLSCRIPT
const APPLICATION__X_COMPRESS
const APPLICATION__X_FREELANCE
const APPLICATION__X_QPRO
const APPLICATION__VND_HP_HPGL
const APPLICATION__X_PKCS7_CERTIFICATES
const APPLICATION__X_SHOCKWAVE_FLASH
const TEXT__X_SCRIPT_GUILE
const APPLICATION__FUTURESPLASH
const APPLICATION__X_SEELOGO
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_PRESENTATIONML_PRESENTATION
const APPLICATION__MACBINARY
const APPLICATION__BINHEX
const IMAGE__X_PORTABLE_BITMAP
const APPLICATION__X_MOBI
const TEXT__X_SCRIPT_SCHEME
const APPLICATION__X_HELPFILE
const APPLICATION__X_NEWTON_COMPATIBLE_PKG
const IMAGE__VND_RN_REALPIX
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_WORDPROCESSINGML_TEMPLATE
const APPLICATION__X_PKCS7_MIME
const APPLICATION__VND_XARA
const APPLICATION__X_JAVA_CLASS
const APPLICATION__X_TROFF_MS
const APPLICATION__VND_NOKIA_CONFIGURATION_MESSAGE
const APPLICATION__MAC_BINARY
const APPLICATION__MSPOWERPOINT
const TEXT__X_AUDIOSOFT_INTRA
const APPLICATION__MAC_BINHEX
const APPLICATION__X_PKCS12
const APPLICATION__X_X509_USER_CERT
__construct(string $path_to_file)
const APPLICATION__SOLIDS
const APPLICATION__VND_RN_REALPLAYER
const AUDIO__X_PN_REALAUDIO
const APPLICATION__X_STUFFIT
const APPLICATION__DSPTYPE
const APPLICATION__FONT_WOFF
const APPLICATION__VND_NOKIA_RINGING_TONE
const APPLICATION__VND_MS_PKI_CERTSTORE
const APPLICATION__VND_HP_PCL
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_SPREADSHEETML_TEMPLATE
setSuffix(string $suffix)
const APPLICATION__DRAFTING
const APPLICATION__STREAMINGMEDIA
const APPLICATION__X_VND_LS_XPIX
const APPLICATION__BASE64
const APPLICATION__RINGING_TONES
const APPLICATION__PKCS7_MIME
const APPLICATION__X_BYTECODE_PYTHON
const APPLICATION__X_BZIP2
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const APPLICATION__PKIX_CRL
const TEXT__X_SCRIPT_TCSH
const APPLICATION__X_X509_CA_CERT
const APPLICATION__X_ENVOY
const APPLICATION__PKCS7_SIGNATURE
const APPLICATION__X_CDLINK
const APPLICATION__VND_OPENXMLFORMATS_OFFICEDOCUMENT_PRESENTATIONML_SLIDESHOW
const APPLICATION__X_INTERNETT_SIGNUP
const APPLICATION__X_JAVA_APPLET
const APPLICATION__ASTOUND
const AUDIO__MAKE_MY_FUNK
const APPLICATION__WORDPERFECT6_1
const APPLICATION__FRACTALS
const APPLICATION__X_KOAN