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基于 swoole 实现的异步处理任务功能示例

    php基于 swoole 实现的异步处理任务功能示例

    这篇文章主要介绍了php基于 swoole 实现的异步处理任务功能,涉及swoole的安装、配置及php调用swoole守护进程监控任务相关实现技巧,需要的朋友可以参考下
    2019-08-08
  • 分析五个Laravel Dusk的使用技巧

    分析五个Laravel Dusk的使用技巧

    Laravel Dusk是 Laravel 的一个表达性强、易于使用,且功能强大的浏览器自动化测试工具。通过 Dusk 可以以编程的方式测试 JavaScript 驱动的应用程序。在使用 Dusk 编写测试案例时,我经常遇到一些限制。现在我在本文中将这些情况以及如何克服分享给大家。
    2021-05-05
  • PHP中set_include_path()函数相关用法分析

    PHP中set_include_path()函数相关用法分析

    这篇文章主要介绍了PHP中set_include_path()函数相关用法,结合实例形式分析了php针对文件路径设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 解析wamp5下虚拟机配置文档

    解析wamp5下虚拟机配置文档

    本篇文章是对wamp5下虚拟机配置文档的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP可逆加密/解密函数分享

    PHP可逆加密/解密函数分享

    很多项目的会员系统,都要求要有记住登录功能,在通过cookies实现功能是,由于要将客户信息直接保存到cookies,如果直接写入cookies势必会带来安全隐患,因此通过可逆加密后再保存到cookies相对就安全了
    2012-09-09
  • 如何基于PHP实现微信小程序pdf文件的预览功能

    如何基于PHP实现微信小程序pdf文件的预览功能

    前段时间文库类微信小程序开发中遇到个问题,就是要在小程序中预览pdf文件,下面这篇文章主要给大家介绍了关于如何基于PHP实现微信小程序pdf文件的预览功能,需要的朋友可以参考下
    2022-05-05
  • php做下载文件的实现代码及文件名中乱码解决方法

    php做下载文件的实现代码及文件名中乱码解决方法

    php做下载文件的实现代码及文件名中乱码解决方法,需要的朋友可以参考下。
    2011-02-02
  • PHP set_error_handler()函数使用详解(示例)

    PHP set_error_handler()函数使用详解(示例)

    本文详细介绍PHP set_error_handler()函数的使用方法,最后还提供了一个实例
    2013-11-11
  • PHP模拟QQ登录的方法

    PHP模拟QQ登录的方法

    这篇文章主要介绍了PHP模拟QQ登录的方法,涉及php基于curl操作模拟QQ登录的实现技巧,具有一定参考
    2015-07-07
  • php通过前序遍历树实现无需递归的无限极分类

    php通过前序遍历树实现无需递归的无限极分类

    这篇文章主要介绍了php通过前序遍历树实现无需递归的无限极分类,涉及基于CI框架针对数据库的查询与遍历操作,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论