** * * * @ Access public * @ Param string filename file name * @ Param string limit_ext_types: the file type allowed. | used | the surrounded type is: | gif | txt | * @ Return string */<Span id = "more-472" type = "codeph" text = "/codeph"> </span type = "codeph" text = "/codeph"> Function check_file_type ($ filename, $ limit_ext_types = ''){ $ Extname = strtolower (substr ($ filename, strrpos ($ filename, '.') + 1 )); If ($ limit_ext_types && Stristr ($ limit_ext_types, '|'. $ extname. '|') = false ){ Return ''; } $ Str = $ format = ''; $ File = @ fopen ($ filename, 'RB '); If ($ file ){ $ Str = @ fread ($ file, 0x400); // read the first 1024 bytes @ Fclose ($ file ); } Else { $ Format = $ extname; } If ($ format = ''& strlen ($ str)> = 2 ){ If (substr ($ str, 0, 4) = 'mthd' & $ extname! = 'Txt '){ $ Format = 'mid '; } Elseif (substr ($ str, 0, 4) = 'riff' & $ extname = 'wav '){ $ Format = 'wav '; } Elseif (substr ($ str, 0, 3) = "xFFxD8xFF "){ $ Format = 'jpg '; } Elseif (substr ($ str, 0, 4) = 'gif 8' & $ extname! = 'Txt '){ $ Format = 'GIF '; } Elseif (substr ($ str, 0, 8) = "x89x50x4Ex47x0Dx0Ax1Ax0A "){ $ Format = 'PNG '; } Elseif (substr ($ str, 0, 2) = 'bm '& $ extname! = 'Txt '){ $ Format = 'bmp '; } Elseif (substr ($ str, 0, 3) = 'done' | substr ($ str, 0, 3) = 'fws ') & $ Extname! = 'Txt '){ $ Format = 'swf '; } Elseif (substr ($ str, 0, 4) = "xD0xCFx11xE0") {// D0CF11E = DOCFILE = Microsoft Office Document If (substr ($ str, 0x200,4) = "xECxA5xC1x00" | $ Extname = 'doc '){ $ Format = 'doc '; } Elseif (substr ($ str, 0 x, 2) = "x09x08" | $ extname = 'XLS '){ $ Format = 'XLS '; } Elseif (substr ($ str, 0x200,4) = "xFDxFFxFFxFF" | $ Extname = 'ppt '){ $ Format = 'ppt '; } } Elseif (substr ($ str, 0, 4) = "PKx03x04 "){ $ Format = 'Zip '; } Elseif (substr ($ str, 0, 4) = 'rar! '& $ Extname! = 'Txt '){ $ Format = 'rar '; } Elseif (substr ($ str, 0, 4) = "x25PDF "){ $ Format = 'PDF '; } Elseif (substr ($ str, 0, 3) = "x30x82x0A "){ $ Format = 'cert '; } Elseif (substr ($ str, 0, 4) = 'itsf '& $ extname! = 'Txt '){ $ Format = 'chm '; } Elseif (substr ($ str, 0, 4) = "x2ERMF "){ $ Format = 'rm '; } Elseif ($ extname = 'SQL '){ $ Format = 'SQL '; } Elseif ($ extname = 'txt '){ $ Format = 'txt '; } } If ($ limit_ext_types && Stristr ($ limit_ext_types, '|'. $ format. '|') = false ){ $ Format = ''; } Return $ format; } |