服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - PHP判断上传文件类型的解决办法

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

2020-11-25 13:20PHP教程网 PHP教程

php通过判断上传文件的头字符来判断文件的类型,这可以称得上是最安全,最真实确定上传文件类型的方法了,具体实现方法如下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* 读取文件前几个字节 判断文件类型
* @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程序设计有所帮助。

延伸 · 阅读

精彩推荐