`
ongsh321
  • 浏览: 101073 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

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

阅读更多

 

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

 

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

分享到:
评论

相关推荐

    根据文件头信息判断文件类型

    综上所述,理解并利用文件头信息来判断文件类型是IT从业者必备的技能之一。无论是编写脚本处理大量文件,还是排查数据传输问题,这个知识都能提供强大的支持。通过深入学习和实践,我们可以更高效地管理和操作各种...

    Open header file打开文件头(4KB)

    在实际应用中,例如在处理图像文件(如JPEG或PNG)、音频文件(如MP3)或者二进制文件格式(如EXE或DLL)时,开发者会通过读取文件头的特定字节来识别文件类型。例如,JPEG文件的头4字节是'FF D8 FF E0',而PNG文件...

    VC通过文件头格式,判断文件的真实格式

    ### VC通过文件头格式,判断文件的真实格式 在IT领域,特别是软件开发...总之,通过文件头判断文件类型是一种非常实用的技术,在实际开发中有着广泛的应用。掌握这一技术,有助于开发者构建更加安全、可靠的应用系统。

    通过文件头识别文件类型

    为了确保我们能够准确地识别文件的类型,一个重要的方法就是通过检查文件的头部信息,也就是所谓的“文件头”。文件头包含了一串特定的字节序列,这些序列对于特定的文件格式是独一无二的,就像每个文件类型的指纹...

    文件头和文件尾.docx

    文件头(File Header)是文件的开头部分,它包含了文件的元数据,例如文件类型、版本号、作者信息等。文件头的大小和内容因文件类型而异,但它通常包含以下信息: * 文件类型:文件类型的标志,例如图像文件、文本...

    Open current header file打开当前文件头(7KB)

    标题"Open current header file打开当前文件头(7KB)"指的是一个功能或操作,允许开发者快速查看或编辑与当前源代码相关的头文件。在许多编程环境中,这种功能可以提高开发效率,因为头文件通常包含了函数声明、类...

    通过查看二进制文件判断文件类型

    在IT领域,了解如何通过查看二进制文件来判断文件类型是一项重要的技能,尤其是在处理未知或潜在恶意文件时。文件的后缀名虽然通常用于标识文件类型,但有时会被恶意修改,或者用户可能不知道正确的扩展名。这时,...

    Atom-file-header,Atom的文件头。投稿贵冠/文件.zip

    5. **自定义配置**:由于 Atom 允许高度定制,用户可以通过文件头来保存特定的编辑器设置,如字体大小、颜色主题或自动完成设置。 在 "file-header-master" 这个子目录中,可能包含了关于 Atom 文件头的源代码、...

    32位纯RGB图片数据添加BMP文件头程序

    一个标准的BMP文件头由两部分组成:文件头(File Header)和位图信息头(Bitmap Info Header)。文件头通常包含14个字节,位图信息头则有40个字节。具体字段如下: 1. **文件头(14字节)**: - `BFType`(2字节)...

    判断几种图片文件头的c++代码

    这些图片格式都有其特定的文件头标识,通过比较这些标识可以确定文件类型。 首先,GIF(Graphics Interchange Format)图片文件的文件头通常由两个字节'G'和'I'组成,紧接着是'F'和'87a'或'89a',分别代表GIF87a和...

    FileHeader.sublime-package

    总的来说,FileHeader插件为Sublime Text提供了一个高效、便捷的方式来管理和生成文件头信息,从而提高了开发者的生产力,并保持了代码的整洁和一致性。通过定制模板和了解插件的使用细节,用户能够更充分地利用这一...

    bmp文件访问文件头信息头指导书

    位图文件头 (Bitmap File Header)** - **占用空间**: 14个字节 - **主要信息**: - `bfType`: 文件类型标识符,必须为`BM`(值为`0x424D`),表明这是一个BMP文件。 - `bfSize`: 文件总大小,包括文件头、信息头...

    Java实现的获取和判断文件头信息工具类用法示例

    Java实现的获取和判断文件头信息工具类用法示例 ...Java实现的获取和判断文件头信息工具类可以根据文件路径获取文件头信息,并根据头信息来判断文件类型,该工具类可以应用于各种文件管理和识别系统中。

    BMP图片文件头显示工具.rar

    1. 文件头(File Header):这是BMP文件的第一个部分,通常包含14个字节。它包括文件类型标识('BM'),文件大小,以及在磁盘上的位置信息。文件头的主要作用是确认文件的类型和定位数据的起始位置。 2. 信息头...

    利用Delphi的TMemoryStream实现文件起始位置添加文件头

    3. **创建文件头并写入**:定义文件头的数据结构,可以是自定义的记录类型,然后创建一个TMemoryStream来存储文件头数据。将文件头数据写入到内存流的开头。 ```delphi type TFileHeader = record Signature: ...

    FileHeader.exe

    这是一个C#编写的控制台应用程序,只能通过命令行方式运行,根据文件路径,获取16进制文件头字符,判断文件的真正格式,而且可以增加自定义格式,当然这个需要源码,程序没有做加密。 示例: C:\Users\...

    视频文件文件头解析--mkv

    3. 如果验证成功,通过 `mkv_file_head_parser` 解析文件头的详细信息,包括各个元素的 ID、长度和值。 4. 初始化解析所需的变量,分配内存来存储 MKV 文件信息,并继续读取文件以处理后续的数据。 在解析过程中,...

    VC实现常见文件类型的判断

    总之,在VC++中实现常见文件类型的判断,主要通过检查文件的扩展名和文件头来完成。结合使用字符串操作和文件I/O,我们可以有效地识别各种文件类型,并据此执行相应的操作。对于更复杂的文件格式,可能需要深入理解...

    PE文件头详解

    通过理解PE文件头的这些关键元素,我们可以更有效地分析和修改PE文件,以满足特定需求或解决安全问题。例如,逆向工程师可能会检查导入表来了解程序的功能,而安全专家则可能关注数字签名和重定位信息来检测潜在的...

    文件类型判断java

    但需要注意的是,不是所有文件类型都有固定的字节签名,某些文件类型可能需要更复杂的解析机制,例如通过解析文件头的特定结构来确定类型。 在Android开发中,由于设备资源有限且可能涉及网络通信,正确判断文件...

Global site tag (gtag.js) - Google Analytics