파일 헤더를 기반으로 파일 형식을 결정하는 PHP 코드 공유

WBOY
풀어 주다: 2016-07-25 08:57:01
원래의
1219명이 탐색했습니다.
很多php程序中,判断文件类型多是用扩展名,本文介绍的方法是读取文件头判断文件类型,支持图片、rar、exe等后缀。有需要的朋友参考下。

php读取文件头判断文件类型,支持图片(jpg,gif,png)、rar、exe等后缀。 代码:

<?php 
//读取文件头来判断文件类型
//by bbs.it-home.org
$filename = "11.jpg";
//为图片的路径可以用d:/upload/11.jpg等绝对路径
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode) {
case 7790: $fileType = 'exe'; break;
case 7784: $fileType = 'midi'; break;
case 8297: $fileType = 'rar'; break;
case 255216: $fileType = 'jpg'; break;
case 7173: $fileType = 'gif'; break;
case 6677: $fileType = 'bmp'; break;
case 13780: $fileType = 'png'; break;
default: echo'unknown';
}
echo'这是一个'.$fileType.' file:'.$typeCode;
?>
로그인 후 복사

示例:

<?php
//方法二
//用mime_content_type函数判断文件类型
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿