zoukankan      html  css  js  c++  java
  • 利用PHP取二进制文件头判断文件类型

    <?php
    $files = array('D:
    o.jpg', 'D:
    o.png','D:
    o2.JPEG','D:
    o.BMP');
    
    $fileTypes = array(
    	7790 	=> 'exe',
        7784	=> 'midi',
     	8297 	=> 'rar',
     	255216 	=> 'jpg',
     	7173 	=> 'gif',
     	6677 	=> 'bmp',
     	13780	=> 'png'
    );
    
    foreach($files as $file) {
    	$fp = fopen($file, 'rb');
    	$bin = fread($fp, 2); //利用PHP取二进制文件头判断文件类型,每个文件在产生的时候,他是什么类型的文件,都由这个二进制头部的2个字节决定的
    	fclose($fp);
    	$strInfo = unpack("C2chars", $bin);// 函数从二进制字符串对数据进行解包。
    	$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
    	$fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : 'unknown';
    	echo $file , ' type : <b>', $fileType, '</b><br />';
    }
    
  • 相关阅读:
    《我与我的父辈》影评
    如何进行时间规划?
    内向者相关
    修己 0815
    loj 3102
    StringSequences
    解方程
    problem B
    uoj424 count
    fft相关的复习
  • 原文地址:https://www.cnblogs.com/fonyer/p/3804609.html
Copyright © 2011-2022 走看看