zoukankan      html  css  js  c++  java
  • php 根据文件内容来判断文件类型

    /*文件扩展名说明
      *7173         gif
      *255216       jpg
      *13780        png
      *6677         bmp
      *239187       txt,aspx,asp,sql
      *208207       xls.doc.ppt
      *6063         xml
      *6033         htm,html
      *4742         js
      *8075         xlsx,zip,pptx,mmap,zip
      *8297         rar 
      *01           accdb,mdb
      *7790         exe,dll         
      *5666         psd
      *255254       rdp
      *10056        bt种子
      *64101        bat
     */
      
        /*PHP取二进制文件头快速判断文件类型*/
        $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);
            // unpack() 函数从二进制字符串对数据进行解包
            $str_info  = @unpack("C2chars", $bin);
            //  intval() 函数用于获取变量的整数值
            $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: <b>', $file_type, '</b> code:<b>', $type_code, '</b><br />';
     
        }
  • 相关阅读:
    Herny
    机器学习No.4
    机器学习No.3
    机器学习No.2
    机器学习No.1
    算法第五章上机实践报告
    算法第五章作业
    算法第四章实践报告
    算法第四章作业
    算法第三章作业
  • 原文地址:https://www.cnblogs.com/LF-place/p/10521758.html
Copyright © 2011-2022 走看看