$files = array ( 'c:\1.jpg', 'c:\1.png', 'c:\1.gif', 'c:\1.rar', 'c:\1.zip', 'c:\1.exe', ); foreach ( $files AS $file ) { $fp = fopen ( $file, "rb" ); $bin = fread ( $fp, 2 ); //只读2字节 fclose ( $fp ); $str_info = @unpack ( "C2chars", $bin ); $type_code = intval ( $str_info['chars1'].$str_info['chars2'] ); $file_type = ''; switch ( $type_code ) { case 7790: $file_type = 'exe'; break; case 7784: $file_type = 'midi'; break; case 8075: $file_type = 'zip'; break; case 8297: $file_type = 'rar'; break; case 255216: $file_type = 'jpg'; break; case 7173: $file_type = 'gif'; break; case 6677: $file_type = 'bmp'; break; case 13780: $file_type = 'png'; break; default: $file_type = 'unknown'; break; } echo $file , ' type: ', $file_type, ' code:', $type_code, ' '; }