欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP取二进制文件头高速判断文件类型

程序员文章站 2022-05-12 15:52:42
...
PHP取二进制文件头快速判断文件类型

参考:@黑夜路人

一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别。

 'exe',
    7784    => 'midi',
    8075    => 'zip',
    8297    => 'rar',
    225216  => 'jpg',
    7173    => 'gif',
    6677    => 'bmp',
    13780   => 'png',
);
foreach($files as $file) {
    $fp = fopen($file, 'rb');
    $bin = fread($fp, 2); // 只读头两个字节
    fclose($fp);
    $strInfo = @unpack("C2chars", $bin);
    $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
    $fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : 'unknown';
    echo $file , ' type : ', $fileType, ' code : ', $fileType, '
'; }
PHP取二进制文件头高速判断文件类型

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频