首頁 > 後端開發 > php教程 > PHP取二进制文件头高速判断文件类型

PHP取二进制文件头高速判断文件类型

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-13 10:56:37
原創
1141 人瀏覽過

PHP取二进制文件头快速判断文件类型

参考:@黑夜路人

一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别。

<?php $files = array('./test.jpg', 'test.png');$fileTypes = array(    7790    => 'exe',    7784    => 'midi',    8075    => 'zip',    8297    => 'rar',    225216  => 'jpg',    7173    => 'gif',    6677    => 'bmp',    13780   => 'png',);foreach($files as $file) {    $fp = fopen($file, 'rb');    $bin = fread($fp, 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> code : <b>', $fileType, '</b><br>';}
登入後複製
相關標籤:
gt
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
$value -> 成績 = $value -> 成績 -> 姓名;
來自於 1970-01-01 08:00:00
0
0
0
輸入<html><>後面是怎麼變成<html></html>的
來自於 1970-01-01 08:00:00
0
0
0
javascript - js中map實作中 var len = O.length >>> 0;
來自於 1970-01-01 08:00:00
0
0
0
<title></title> 這倆代表啥
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板