>  기사  >  백엔드 개발  >  파일 형식을 감지하는 PHP 코드 조각(파일 헤더 기반)

파일 형식을 감지하는 PHP 코드 조각(파일 헤더 기반)

WBOY
WBOY원래의
2016-07-25 09:00:46949검색
  1. //检测文件类型

  2. $filename = "11.jpg";
  3. //图片的路径

  4. $file = fopen($filename, "rb");

  5. $bin = fread($file, 2); //只读2字节
  6. fclose($file);

  7. $strInfo = @unpack("C2chars", $bin);

  8. $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
  9. $fileType = '';

  10. switch ($typeCode) {

  11. case 7790: $fileType = 'exe'; break;
  12. case 7784: $fileType = 'midi'; break;
  13. case 8297: $fileType = 'rar'; break;
  14. case 255216: $fileType = 'jpg'; break;
  15. case 7173: $fileType = 'gif'; break;
  16. case 6677: $fileType = 'bmp'; break;
  17. case 13780: $fileType = 'png'; break;
  18. default: echo'unknown';
  19. }

  20. echo'这是一个'.$fileType.' file:'.$typeCode;

  21. //linux下判断文件类型的函数 mime_content_type

  22. //这个函数也不错
  23. echo mime_content_type('test1.gif') . "n";
  24. echo mime_content_type('test2.php');
  25. ?>

复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.