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

php文件类型检测:根据二进制文件头判断文件类型的函数

程序员文章站 2022-06-15 18:04:45
...
  1. $files = array('./test.jpg', 'test.png');
  2. $fileTypes = array(
  3. 7790 => 'exe',
  4. 7784 => 'midi',
  5. 8075 => 'zip',
  6. 8297 => 'rar',
  7. 225216 => 'jpg',
  8. 7173 => 'gif',
  9. 6677 => 'bmp',
  10. 13780 => 'png',
  11. );
  12. foreach($files as $file) {
  13. $fp = fopen($file, 'rb');
  14. $bin = fread($fp, 2); // 只读头两个字节
  15. fclose($fp);
  16. $strInfo = @unpack("C2chars", $bin);
  17. $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
  18. $fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : 'unknown';
  19. echo $file , ' type : ', $fileType, ' code : ', $fileType, '
    ';
  20. }
复制代码