108 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php declare(strict_types=1);
 | |
| 
 | |
| class FileExtension
 | |
| {
 | |
|     public const ANI = 'ani';
 | |
|     public const ASC = 'asc';
 | |
|     public const ASF = 'asf';
 | |
|     public const ASX = 'asx';
 | |
|     public const AVI = 'avi';
 | |
|     public const BMP = 'bmp';
 | |
|     public const BZIP = 'bz';
 | |
|     public const BZIP2 = 'bz2';
 | |
|     public const CBR = 'cbr';
 | |
|     public const CBZ = 'cbz';
 | |
|     public const CBT = 'cbt';
 | |
|     public const CBA = 'cbA';
 | |
|     public const CB7 = 'cb7';
 | |
|     public const CSS = 'css';
 | |
|     public const CSV = 'csv';
 | |
|     public const CUR = 'cur';
 | |
|     public const FLASH = 'swf';
 | |
|     public const FLASH_VIDEO = 'flv';
 | |
|     public const GIF = 'gif';
 | |
|     public const GZIP = 'gz';
 | |
|     public const HTML = 'html';
 | |
|     public const HTM = 'htm';
 | |
|     public const ICO = 'ico';
 | |
|     public const JFIF = 'jfif';
 | |
|     public const JFI = 'jfi';
 | |
|     public const JPEG = 'jpeg';
 | |
|     public const JPG = 'jpg';
 | |
|     public const JS = 'js';
 | |
|     public const JSON = 'json';
 | |
|     public const MKV = 'mkv';
 | |
|     public const MP3 = 'mp3';
 | |
|     public const MP4 = 'mp4';
 | |
|     public const M4V = 'm4v';
 | |
|     public const M4A = 'm4a';
 | |
|     public const MPEG = 'mpeg';
 | |
|     public const MPG = 'mpg';
 | |
|     public const OGG = 'ogg';
 | |
|     public const OGG_VIDEO = 'ogv';
 | |
|     public const OGG_AUDIO = 'oga';
 | |
|     public const PDF = 'pdf';
 | |
|     public const PHP = 'php';
 | |
|     public const PHP5 = 'php5';
 | |
|     public const PNG = 'png';
 | |
|     public const PSD = 'psd';
 | |
|     public const PPM = 'ppm';
 | |
|     public const MOV = 'mov';
 | |
|     public const RSS = 'rss';
 | |
|     public const SVG = 'svg';
 | |
|     public const TAR = 'tar';
 | |
|     public const TGA = 'tga';
 | |
|     public const TEXT = 'txt';
 | |
|     public const TIFF = 'tiff';
 | |
|     public const TIF = 'tif';
 | |
|     public const WAV = 'wav';
 | |
|     public const WEBM = 'webm';
 | |
|     public const WEBP = 'webp';
 | |
|     public const WMA = 'wma';
 | |
|     public const WMV = 'wmv';
 | |
|     public const XML = 'xml';
 | |
|     public const XSL = 'xsl';
 | |
|     public const ZIP = 'zip';
 | |
| 
 | |
|     /**
 | |
|      * Returns the main file extension associated with the specified mimetype.
 | |
|      */
 | |
|     public static function get_for_mime(string $mime): ?string
 | |
|     {
 | |
|         if (empty($mime)) {
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         if ($mime==MimeType::OCTET_STREAM) {
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         $data = MimeMap::get_for_mime($mime);
 | |
|         if ($data!=null) {
 | |
|             return $data[MimeMap::MAP_EXT][0];
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns all the file extension associated with the specified mimetype.
 | |
|      */
 | |
|     public static function get_all_for_mime(string $mime): array
 | |
|     {
 | |
|         if (empty($mime)) {
 | |
|             return [];
 | |
|         }
 | |
| 
 | |
|         if ($mime==MimeType::OCTET_STREAM) {
 | |
|             return [];
 | |
|         }
 | |
| 
 | |
|         $data = MimeMap::get_for_mime($mime);
 | |
|         if ($data!=null) {
 | |
|             return $data[MimeMap::MAP_EXT];
 | |
|         }
 | |
| 
 | |
|         return [];
 | |
|     }
 | |
| }
 |