- /**
- * @ 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
- * By http://bbs.it-home.org
- */
- 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;
- }
|