Вход Регистрация
Файл: sys/plugins/classes/files_types.class.php
Строк: 162
<?php

/**
 * Информация о типах файлов
 */
abstract class files_types {

    
/**
     * Получение информации о типах файлов
     * @staticvar array $ini
     * @return array
     */
    
protected static function _getIni() {
        static 
$ini null;
        if (
$ini === null)
            
$ini ini::read('/sys/ini/files.types.ini'true);
        return 
$ini;
    }

    
/**
     * Обработчик для получения описания файла
     * @param string $path
     * @return string
     */
    
public static function getPropertiesType($path) {
        
$pinfo pathinfo(strtolower($path));
        
$ini self::_getIni();
        if (!empty(
$pinfo['extension']) && !empty($ini[$pinfo['extension']]['prop']))
            return 
$ini[$pinfo['extension']]['prop'];
    }

    
/**
     * Обработчик получения скриншота
     * @param string $path
     * @return string
     */
    
public static function getScreenType($path) {
        
$pinfo pathinfo(strtolower($path));
        
$ini self::_getIni();
        if (!empty(
$pinfo['extension']) && !empty($ini[$pinfo['extension']]['screen']))
            return 
$ini[$pinfo['extension']]['screen'];
    }

    
/**
     * получение иконки
     * @param string $path
     * @return string
     */
    
public static function getIconType($path) {
        
$pinfo pathinfo(strtolower($path));
        
$ini self::_getIni();
        if (!empty(
$pinfo['extension']) && !empty($ini[$pinfo['extension']]['icon']))
            return 
$ini[$pinfo['extension']]['icon'];
        return 
'file';
    }

    
/**
     * получение mime-типа файла по расширению
     * @param string $filename
     * @return string
     */
    
public static function get_mime($filename) {
        switch (
pathinfo($filenamePATHINFO_EXTENSION)) {
            case 
'php':return 'text/plain';
            case 
'txt':return 'text/plain';


            case 
'emy':return 'text/x-vmel';
            case 
'mel':return 'text/x-vmel';
            case 
'jad':return 'text/vnd.sun.j2me.app-descriptor';

            
// приложения
            
case 'jar':return 'application/java-archive';
            case 
'thm':return 'application/vnd.eri.thm';
            case 
'mpn':return 'application/vnd.mophun.application';
            case 
'mpc':return 'application/vnd.mophun.certificate';
            case 
'sis':return 'application/vnd.symbian.install';

            
// архивы
            
case 'zip':return 'application/x-zip-compressed';
            case 
'rar':return 'application/x-rar-compressed';
            case 
'7z':return 'application/x-7z-compressed';
            case 
'gz':return 'application/x-gzip';
            case 
'hid':return 'application/x-tar';

            case 
'tar':return 'application/x-tar';
            
// звуки и музыка
            
case 'imy':return 'audio/imelody';
            case 
'mmf':return 'application/vnd.smaf';
            case 
'amr':return 'audio/amr';
            case 
'wav':return 'audio/x-wav';
            case 
'mp3':return 'audio/mpeg';
            case 
'wav':return 'audio/wav';
            case 
'midi':return 'audio/midi';
            case 
'mid':return 'audio/midi';
            case 
'rmf':return 'audio/rmf';

            
// видео
            
case 'flv':return 'video/flv';
            case 
'mp4':return 'video/mp4';
            case 
'3gp':return 'video/3gpp';
            case 
'3gpp':return 'video/3gpp';
            
// изображения
            
case 'jpg':return 'image/jpeg';
            case 
'jpeg':return 'image/jpeg';
            case 
'gif':return 'image/gif';
            case 
'png':return 'image/png';
            case 
'bmp':return 'image/bmp';
            case 
'tiff':return 'image/tiff';
            case 
'tif':return 'image/tiff';
        }

        return 
'application/octet-stream';
    }

}
Онлайн: 0
Реклама