1. PHP / Говнокод #5416

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    function filetypecheck( $filename )
    {
    	$ext = substr(GetFileExt($filename), 1);
    	if($ext == 'rar'){ $dtype = 'Архив RAR'; }
    	if($ext == 'zip'){ $dtype = 'Архив ZIP'; }
    	if($ext == '7z') { $dtype = 'Архив 7zip'; }
    	if($ext == 'bz2'){ $dtype = 'BZ2'; }
    	if($ext == 'cab'){ $dtype = 'CAB'; }
    	if($ext == 'ace'){ $dtype = 'WinACE'; }
    	if($ext == 'arj'){ $dtype = '<a class=\"cont\" href=\"http://www.tsf.be/\" target=\"_blank\">ARJ</a>'; }
    	if($ext == 'jar'){ $dtype = '<a class=\"cont\" href=\"http://www.tsf.be/\" target=\"_blank\">JAR</a>'; }
    
    	if($ext == 'gzip'){ $dtype = 'GZIP'; }
    	if($ext == 'tar'){ $dtype = 'TAR'; }
    	if($ext == 'tgz'){ $dtype = 'TGZ'; }
    	if($ext == 'gz'){ $dtype = 'GZ'; }
    
    	if($ext == 'gif'){ $dtype = 'GIF'; }
    	if(preg_match('/jpeg|jpe|jpg/i', $ext)){ $dtype = 'JPEG/JPE/JPG'; }
    	if($ext == 'png'){ $dtype = 'PNG'; }
    	if($ext == 'bmp'){ $dtype = 'BMP'; }
    
    	if($ext == 'txt'){ $dtype = 'TXT'; }
    	if($ext == 'sql'){ $dtype = 'SQL'; }
    	if($ext == 'exe'){ $dtype = 'EXE'; }
    	if($ext == 'swf'){ $dtype = 'SWF'; }
    	if($ext == 'fla'){ $dtype = 'FLA'; }
    	if(preg_match('/flv|f4v|f4p|f4a|f4b/i', $ext)){ $dtype = 'Flash Video (FLV)'; }
    
    	if($ext == 'wav'){ $dtype = 'WAV'; }
    	if($ext == 'mp2'){ $dtype = 'MP2'; }
    	if($ext == 'mp3'){ $dtype = 'MP3'; }
    	if($ext == 'mp4'){ $dtype = 'MP4'; }
    	if(preg_match('/ogv|oga|ogx|ogg/i', $ext)){ $dtype = 'Ogg'; }
    	if($ext == 'mid'){ $dtype = 'MID'; }
    	if($ext == 'midi'){ $dtype = 'MIDI'; }
    	if($ext == 'mmf'){ $dtype = 'MMF'; }
    
    	if($ext == 'mpeg'){ $dtype = 'MPEG'; }
    	if($ext == 'mpe'){ $dtype = 'MPE'; }
    	if($ext == 'mpg'){ $dtype = 'MPG'; }
    	if($ext == 'mpa'){ $dtype = 'MPA'; }
    	if($ext == 'avi'){ $dtype = 'AVI'; }
    	if($ext == 'mpga'){ $dtype = 'MPGA'; }
    
    	if(preg_match('/pdf|pds/i', $ext)){ $dtype = 'Документ Adobe PDF'; }
    	if(preg_match('/xls|xl|xla|xlb|xlc|xld|xlk|xll|xlm|xlt|xlv|xlw/i', $ext)){ $dtype = 'Документ MS-Excel'; }
    	if(preg_match('/doc|dot|wiz|wzs|docx/i', $ext)){ $dtype = 'Документ MS-Word'; }
    	if($ext == 'odt'){ $dtype = 'Текстовый документ OpenDocument'; }
    	if($ext == 'odg'){ $dtype = 'Графический документ OpenDocument'; }
    	if($ext == 'odp'){ $dtype = 'Документ презентации OpenDocument'; }
    	if($ext == 'ods'){ $dtype = 'Электронная таблица OpenDocument'; }
    	if($ext == 'odc'){ $dtype = 'Документ диаграммы OpenDocument'; }
    	if($ext == 'odi'){ $dtype = 'Документ изображения OpenDocument'; }
    	if($ext == 'odf'){ $dtype = 'Документ формулы OpenDocument'; }
    	if($ext == 'odm'){ $dtype = 'Составной текстовый документ OpenDocument'; }
    	if(preg_match('/pot|ppa|pps|ppt|pwz/i', $ext)){ $dtype = 'Документ MS-Powerpoint'; }
    	if($ext == 'rtf'){ $dtype = 'RTF'; }
    	if(empty($dtype)) $dtype = '';
    
    	return $dtype;
    }

    Цикл "Из одной русской CMS". База описаний к расширениям файлов.

    Запостил: Мартин, 27 Января 2011

    Комментарии (10) RSS

    • >$ext = substr(GetFileExt($filename), 1);
      Я даже и не думал, что можно так заговнякать классический говнопример с нахождением расширения.
      Судя по всему, велосипед GetFileExt возвращает нам .ext, а нам надо без точки.
      Супер.
      Ну и еще одна классика - незнание конструкции switch.
      И дурной тон - пустой ответ от функции при невалидных параметрах.
      В палату мер и весов.
      Ответить
      • Какой switch? Статический массив, лучше в отдельном файле данных.
        Ответить
      • >Ну и еще одна классика - незнание конструкции switch.
        Массив? не, не слышал
        Ответить
        • Каюсь, никто не безгрешен.
          Первой мыслью был switch.
          Ответить
    • Давайте сюда и "GetFileExt" тоже :)
      Ответить
      • Поддерживаю!
        Вместе с названием этой русской CMS! :)
        Ответить
      • По заявкам:
        /**
        * Извлекает из полного имени файла его расширение с точкой
        *
        * @param String $file // Полное имя файла
        * @return String
        */
        function GetFileExt($file)
        {
        $pos = strrpos($file,'.');
        if(!($pos===false)){
        return substr($file,$pos);
        }else{
        return '';
        }
        }
        Ответить
    • Кстати про filetype, вот откопал... моё блин.
      (javascript)
      filetype = function (name) {
      	name = !name? '':name;
      
      	return ( ( name.lastIndexOf('.')>0 )? name.substring( name.lastIndexOf('.'), name.length).replace(/([\/\.]+)+$/, '').replace(/^([\/\.]+)+/, '') : '');
      };

      :)
      Ответить

    Добавить комментарий