分享给大家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程序设计有所帮助。