摘自原来的一个项目,特意提取出来,可能会有需要的人
/**
* 根据图片文件内容获取扩展名
* @param $file 要处理的文件
* @param $isstr 是否传的字符串:true=直接文件内容,false=文件地址
* @return unknown_type
*/
function get_img_ext($file = '', $isstr = true){
if(!$isstr){
//仅获取2字节
$file = file_get_contents($file, false, NULL, 0, 2);
}
//取文件前两个字节(二进制)
$bin = $file[0].$file[1];
//把2进制数转换为两个字符
$info = @unpack("C2chars", $bin);
//转换两个字节的字符为数字
$type = intval($info['chars1'].$info['chars2']);
$ext = 'unknown';
//文件类型判断
switch($type){
case 7790:
$ext = 'exe';
break;
case 7784:
$ext = 'midi';
break;
case 8297:
$ext = 'rar';
break;
case 255216:
$ext = 'jpg';
break;
case 7173:
$ext = 'gif';
break;
case 6677:
$ext = 'bmp';
break;
case 13780:
$ext = 'png';
break;
}
return $ext;
}
浙公网安备 33010602011771号