zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Oracle Core 学习笔记一 Redo 和 Undo 机制详解
    Oracle Linux 6.1 平台安装 Database 11gR2 步骤 说明
    Oracle 查看表空间使用率 SQL 脚本
    Oracle 单实例 Relink Binary Options 说明
    Oracle Linux 6 下 Oracle RDBMS Server 11gR2 Preinstall RPM 包说明
    Oracle DBLink 访问Lob 字段 ORA22992 解决方法
    Oracle 10g 对象 默认 ITL 数量 测试
    Oracle Core 学习笔记一 Redo 和 Undo 机制详解
    与系统 性能相关的 常见十个瓶颈 说明
    Oracle 11g UNDO 管理 详解
  • 原文地址:https://www.cnblogs.com/jackspider/p/2802960.html
Copyright © 2011-2022 走看看