php 读取文件头部两个字节 判断文件的实际类型

function checkFileType($fileName){ $file = fopen($fileName, "rb"); $bin = fread($file, 2); //只读2字节 fclose($file); $strInfo = @unpack("C2chars", $bin);// C为无符号整数,网上搜到的都是c,为有符号整数,这样会产生负数判断不正常 $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); $fileType = ''; if($typeCode == 255216 /*jpg*/ || $typeCode == 7173 /*gif*/ || $typeCode == 13780 /*png*/) { return true; }else{ return false; } }

 

 

File Header文件头,通过检查文件头来判断文件类型

由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式,当然这就是一些播放器识别文件的方法
1、从Ultra-edit-32中提取出来的

JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424D
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Postscript (eps.or.ps),文件头:252150532D41646F6265
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864

二、从winhex中取出的文件头列表
File                             Type                          ExtensionsHeader
JPEG                             jpg;jpeg                      0xFFD8FF
PNG                              png                           0x89504E470D0A1A0A
GIF                              gif                           GIF8
TIFF                             tif;tiff                      0x49492A00
TIFF                             tif;tiff                      0x4D4D002A
Bit   map                         bmp                           BM
AOL ART                          art                           0x4A47040E000000
AOL ART                          art                           0x4A47030E000000
PC Paintbrush                    pcx                           0x0A050108
Graphics Metafile                wmf                           0xD7CDC69A
Graphics Metafile                wmf                           0x01000900
Graphics Metafile                wmf                           0x02000900
Enhanced Metafile                emf                           0x0100000058000000
Corel Draw                       cdr                           CDR
CAD                              dwg                           0x41433130
Adobe Photoshop                  psd                           8BPS
Rich Text Format                 rtf                           rtf
XML                              xml                              
HTML                 html;htm;php;php3;php4;phtml;shtml         type
Email                            eml                            Delivery-date:
Outlook Express                  dbx                            0xCFAD12FE
Outlookpst!BDN
MS Office/OLE2     doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db   0xD0CF11E0A1B11AE1
MS Access                 mdb;mda;mde;mdt                       Standard J
WordPerfect                      wpd                           0xFF575043
OpenOffice Writer                sxw                           writer
OpenOffice Calc                  sxc                           calc
OpenOffice Math                  sxm                           math
OpenOffice Impress               sxi                           impress
OpenOffice Draw                  sxd                           draw
Adobe FrameMaker                 fm                            <MAKERFILE
PostScript                       eps.or.ps;ps;eps              %!PS-Adobe
Adobe Acrobat                    pdf                           %PDF-1.
Quicken                          qdf                           0xAC9EBD8F
QuickBooks Backup                qbb                           0x458600000600
Sage                             sly.or.srt.or.slt;sly;srt;slt      0x53520100
Sage Backup                      1                                  SAGEBACKUP
Lotus WordPro v9                 lwp                           0x576F726450726F
Lotus 123 v9                     123                           0x00001A00051004
Lotus 123 v5                     wk4                           0x00001A0002100400
Lotus 123 v3                     wk3                           0x00001A0000100400
Lotus 123 v1                     wk1                            0x2000604060
Windows Password                 pwl                            0xE3828596
ZIP Archive                      zip;jar                        0x504B0304
ZIP Archive (outdated)           zip                            0x504B3030
RAR Archive                      rar                            Rar!
GZ Archive                       gz;tgz                         0x1F8B08
BZIP Archive                     bz2                            BZh
ARJ Archive                      arj                            0x60EA
7-ZIP Archive                   7z                             7z集'
Wave                             wav                            WAVE
AVI                              avi                            AVI
Real Audio                       ram;ra                         .ra?0
Real Media                       rm                             .RMF
MPEG                             mpg;mpeg                       0x000001BA
MPEG                             mpg;mpeg                       0x000001B3
Quicktime                        mov                            moov
Windows Media                    asf                            0x3026B2758E66CF11
MIDI                             mid                            MThd
Win32 Executable                 exe;dll;drv;vxd;sys;ocx;vbx    MZ
Win16 Executable                 exe;dll;drv;vxd;sys;ocx;vbx    MZ
ELF Executable                   elf;;                          0x7F454C4601010100

 

以上两篇文章转自http://hi.csdn.net/huliang82

你可能感兴趣的:(PHP,Adobe,Lotus,archive,postscript,tiff)