ホームページ > バックエンド開発 > PHPチュートリアル > PHP はバイナリ ファイル ヘッダーを取得し、ファイルの種類を迅速に判断します

PHP はバイナリ ファイル ヘッダーを取得し、ファイルの種類を迅速に判断します

WBOY
リリース: 2016-06-13 13:07:46
オリジナル
845 人が閲覧しました

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
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート