- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 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". База описаний к расширениям файлов.
7ion 27.01.2011 21:47 # −4
Я даже и не думал, что можно так заговнякать классический говнопример с нахождением расширения.
Судя по всему, велосипед GetFileExt возвращает нам .ext, а нам надо без точки.
Супер.
Ну и еще одна классика - незнание конструкции switch.
И дурной тон - пустой ответ от функции при невалидных параметрах.
В палату мер и весов.
gegMOPO4 27.01.2011 22:58 # +1
Nerd 27.01.2011 23:56 # +1
Массив? не, не слышал
7ion 28.01.2011 14:12 # 0
Первой мыслью был switch.
istem 28.01.2011 00:33 # +1
striker 28.01.2011 01:47 # +1
Вместе с названием этой русской CMS! :)
istem 28.01.2011 01:49 # 0
striker 28.01.2011 01:54 # 0
Мартин 28.01.2011 18:31 # +1
/**
* Извлекает из полного имени файла его расширение с точкой
*
* @param String $file // Полное имя файла
* @return String
*/
function GetFileExt($file)
{
$pos = strrpos($file,'.');
if(!($pos===false)){
return substr($file,$pos);
}else{
return '';
}
}
istem 28.01.2011 02:11 # +1
(javascript)
:)