摘自原来的一个项目,特意提取出来,可能会有需要的人
/** * 根据图片文件内容获取扩展名 * @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; }