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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

php中错误处理操作实例分析

php中错误处理操作实例分析

本文实例讲述了php中错误处理操作。分享给大家供大家参考,具体如下: 错误触发 有2种触发: 系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警...

php 使用redis锁限制并发访问类示例

本文介绍了php 使用redis锁限制并发访问类,并详细的介绍了并发访问限制方法。 1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理...

PHP实现邮件群发的源码

复制代码 代码如下: <?php  // 请求 PHPmailer类 文件  require_once("class.phpmailer.php");...

php中隐形字符65279(utf-8的BOM头)问题

今天在CSDN看到一个php输出空白隐形字符65279的问题,在网上找了下,发下这个65279字符是php用来标记文件是utf-8编码的,输出的时候会一起输出到客户端,导致客户端如果使用...

PHP extract 将数组拆分成多个变量的函数

extract()函数语法: int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string...