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

 更新时间:2015年10月20日 14:08:02   投稿:lijiao  
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中的session永不过期的解决思路及实现方法分享

    PHP中的session永不过期的解决思路及实现方法分享

    让PHP的session永不过期,你可能没有遇到这么郁闷的问题,但是我遇到过,很郁闷。
    2011-04-04
  • php与python实现的线程池多线程爬虫功能示例

    php与python实现的线程池多线程爬虫功能示例

    这篇文章主要介绍了php与python实现的线程池多线程爬虫功能,结合实例形式分析了php与python实现线程池多线程爬虫的完整实现方法,需要的朋友可以参考下
    2016-10-10
  • PHP使用HTML5 FormData对象提交表单操作示例

    PHP使用HTML5 FormData对象提交表单操作示例

    这篇文章主要介绍了PHP使用HTML5 FormData对象提交表单操作,结合实例形式分析了PHP使用HTML5 FormData对象提交表单的具体原理、实现方法及相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • php自动识别文字编码并转换为目标编码的方法

    php自动识别文字编码并转换为目标编码的方法

    这篇文章主要介绍了php自动识别文字编码并转换为目标编码的方法,涉及php针对当前编码的判断与对应的编码转换实现技巧,需要的朋友可以参考下
    2015-08-08
  • mysql limit查询优化分析

    mysql limit查询优化分析

    MYSQL的优化是非常重要的。其他最常用也最需要优化的就是limit。mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降
    2008-11-11
  • 解析php addslashes()与addclashes()函数的区别和比较

    解析php addslashes()与addclashes()函数的区别和比较

    本篇文章是对php中的addslashes()与addclashes()函数的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php实现的数组转xml案例分析

    php实现的数组转xml案例分析

    这篇文章主要介绍了php实现的数组转xml,结合具体案例形式分析了PHP数组与xml转换的实现方法与相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • PHP解析RSS的方法

    PHP解析RSS的方法

    这篇文章主要介绍了PHP解析RSS的方法,实例分析了php解析RSS的原理与XML文件的操作技巧,需要的朋友可以参考下
    2015-03-03
  • PHP使用gearman进行异步的邮件或短信发送操作详解

    PHP使用gearman进行异步的邮件或短信发送操作详解

    这篇文章主要介绍了PHP使用gearman进行异步的邮件或短信发送操作,总结分析了PHP基于gearman实现异步的邮件或短信发送相关配置、启动与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • Fastadmin中用户登录时TOKEN的交互方法

    Fastadmin中用户登录时TOKEN的交互方法

    Fastadmin中登录所有的操作都是基于User用户表进行的$this->auth,如果是别的用户表需要进行相关的改动。API跟Auth这两个类库里面进行系列操作即可。在需要获取用户信息的接口,前端需要在调用api的时候在头部传token,这个token在登录的时候返回给前端。
    2023-07-07

最新评论