PHP判断上传文件类型的解决办法


分享给大家php判断上传文件类型的方法,大家一起学习学习 。

/** 
* 读取文件前几个字节 判断文件类型 
* @return String 
*/ 
function checkTitle($filename){ 
  $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: 
      $fileType=unknown.$typeCode; 
    break; 
  } 
  //Fix 
  if($strInfo[chars1]==-1 && $strInfo[chars2]==-40){ 
    return jpg; 
  } 
  if($strInfo[chars1]==-119 && $strInfo[chars2]==80){ 
    return png; 
  } 
  return $fileType; 
} 

希望通过本文对大家学习php程序设计有所帮助 。