• 不通过扩展名,去判断文件类型


     1 第一种方法
     2 
     3 通过php的finfo_file()
     4 
     5 $handle=finfo_open(FILEINFO_MIME_TYPE);//This function opens a magic database and returns its resource. 
     6 $fileInfo=finfo_file($handle,'./test.txt');// Return information about a file
     7 finfo_close($handle);
     8 print_r($fileInfo);
     9 echo '==========="
    "';
    10 
    11 另外
    12 finfo_buffer: Return information about a string buffer
    13 finfo_close: Close fileinfo resource
    14 mime_content_type:Detect MIME Content-type for a file (deprecated)
    15 
    16 第二种方法
    17 
    18 通过二进制流获取文件内容
    19 
    20 $fp=fopen('test.txt','r')///实际是image/png
    21 $bin = fread($fp, 2); //只读2字节
    22 fclose($fp);
    23 $str_info  = @unpack(“C2chars”, $bin);//Unpack data from binary string
    24 $type_code = intval($str_info['chars1'].$str_info['chars2']);// Get the integer value of a variable
    25 $file_type = ”;
    26 switch ($type_code) {
    27 case 7790:
    28 $file_type = ‘exe’;
    29 break;
    30 case 7784:
    31 $file_type = ‘midi’;
    32 break;
    33 case 8075:
    34 $file_type = ‘zip’;
    35 break;
    36 case 8297:
    37 $file_type = ‘rar’;
    38 break;
    39 case 255216:
    40 $file_type = ‘jpg’;
    41 break;
    42 case 7173:
    43 $file_type = ‘gif’;
    44 break;
    45 case 6677:
    46 $file_type = ‘bmp’;
    47 break;
    48 case 13780:
    49 $file_type = ‘png’;
    50 break;
    51 default:
    52 $file_type = ‘unknown’;
    53 break;
    54 }
  • 相关阅读:
    Unity --- sharedMaterial 、material
    lua --- Module
    lua --- 点号 和 冒号
    lua --- __newindex 的使用规则
    DirectX之顶点法线的计算
    DirectX学习之第一个可运行的工程
    java--select*
    java--Servlet做控制器实现代码和UI分离
    java--JSTL取代%
    java--entity层的引入
  • 原文地址:https://www.cnblogs.com/zhangjun516/p/3204821.html
Copyright © 2020-2023  润新知